PR middle-end/60556
* expr.c (convert_move): Use emit_store_flag_force instead of
emit_store_flag. Pass lowpart_mode instead of VOIDmode as 5th
argument to it.
* gcc.c-torture/compile/pr60556.c: New test.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r209300
+2014-04-11 Steve Ellcey <sellcey@mips.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/60556
+ * expr.c (convert_move): Use emit_store_flag_force instead of
+ emit_store_flag. Pass lowpart_mode instead of VOIDmode as 5th
+ argument to it.
+
2014-04-11 Richard Biener <rguenther@suse.de>
PR middle-end/60797
if (unsignedp)
fill_value = const0_rtx;
else
- fill_value = emit_store_flag (gen_reg_rtx (word_mode),
- LT, lowfrom, const0_rtx,
- VOIDmode, 0, -1);
+ fill_value = emit_store_flag_force (gen_reg_rtx (word_mode),
+ LT, lowfrom, const0_rtx,
+ lowpart_mode, 0, -1);
/* Fill the remaining words. */
for (i = GET_MODE_SIZE (lowpart_mode) / UNITS_PER_WORD; i < nwords; i++)
+2014-04-11 Steve Ellcey <sellcey@mips.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/60556
+ * gcc.c-torture/compile/pr60556.c: New test.
+
2014-04-11 Richard Biener <rguenther@suse.de>
PR middle-end/60797
--- /dev/null
+/* PR middle-end/60556 */
+
+int g (int);
+
+unsigned long long f (void)
+{
+ return (unsigned long long)(long)&g;
+}