Comments
Patch
@@ -1,6 +1,12 @@
2011-01-20 H.J. Lu <hongjiu.lu@intel.com>
PR target/47381
+ * config/i386/i386.md (64bit LEA split): Replace nonmemory_operand
+ with x32_lea_nonmemory_operand.
+
+2011-01-20 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/47381
* config/i386/constraints.md (Yl): New.
* config/i386/i386.md (l): New.
@@ -6084,7 +6084,7 @@
[(set (match_operand:DI 0 "register_operand" "")
(zero_extend:DI
(plus:SI (match_operand:SI 1 "register_operand" "")
- (match_operand:SI 2 "nonmemory_operand" ""))))
+ (match_operand:SI 2 "x32_lea_nonmemory_operand" ""))))
(clobber (reg:CC FLAGS_REG))]
"TARGET_64BIT && reload_completed
&& ix86_lea_for_add_ok (insn, operands)"
@@ -1,6 +1,11 @@
2011-01-20 H.J. Lu <hongjiu.lu@intel.com>
PR target/47381
+ * gcc.target/i386/pr47381-3.c: New.
+
+2011-01-20 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/47381
* gcc.target/i386/pr47381-1.c: New.
* gcc.target/i386/pr47381-2.c: Likewise.
new file mode 100644
@@ -0,0 +1,13 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -march=atom" } */
+
+struct foo_t {
+ int limit;
+} foo[3];
+void
+bar () {
+ int i;
+ for (i = 0; i < 3; i++) {
+ __builtin_memset (&foo[i], 0, sizeof(*foo));
+ }
+}