OSDN Git Service

* config/i386/i386.md: Use gen_lowpart instead of gen_rtx_REG
authorzlomek <zlomek@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 22 Feb 2003 05:52:11 +0000 (05:52 +0000)
committerzlomek <zlomek@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 22 Feb 2003 05:52:11 +0000 (05:52 +0000)
for copying a register.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@63280 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/i386/i386.md

index 249d0f5..f52abfa 100644 (file)
@@ -1,3 +1,8 @@
+2003-02-22  Josef Zlomek  <zlomekj@suse.cz>
+
+       * config/i386/i386.md: Use gen_lowpart instead of gen_rtx_REG
+       for copying a register.
+
 2003-02-22  Steven Bosscher  <s.bosscher@student.tudelft.nl>
 
        PR other/3782
index 9449180..e6f1412 100644 (file)
   [(parallel [(set (match_dup 0) (xor:SI (match_dup 0) (match_dup 1)))
              (clobber (reg:CC 17))])]
   "operands[1] = gen_int_mode (0x80000000, SImode);
-   operands[0] = gen_rtx_REG (SImode, REGNO (operands[0]));")
+   operands[0] = gen_lowpart (SImode, operands[0]);")
 
 (define_split
   [(set (match_operand 0 "memory_operand" "")
   [(parallel [(set (match_dup 0) (and:SI (match_dup 0) (match_dup 1)))
              (clobber (reg:CC 17))])]
   "operands[1] = gen_int_mode (~0x80000000, SImode);
-   operands[0] = gen_rtx_REG (SImode, REGNO (operands[0]));")
+   operands[0] = gen_lowpart (SImode, operands[0]);")
 
 (define_split
   [(set (match_operand 0 "memory_operand" "")
        (match_dup 2))]
 {
   operands[4] = gen_rtx_REG (GET_MODE (operands[0]), 17);
-  operands[5] = gen_rtx_REG (QImode, REGNO (operands[3]));
+  operands[5] = gen_lowpart (QImode, operands[3]);
   ix86_expand_clear (operands[3]);
 })
 
        (match_dup 2))]
 {
   operands[4] = gen_rtx_REG (GET_MODE (operands[0]), 17);
-  operands[5] = gen_rtx_REG (QImode, REGNO (operands[3]));
+  operands[5] = gen_lowpart (QImode, operands[3]);
   ix86_expand_clear (operands[3]);
 })
 \f
   [(parallel [(set (match_dup 2) (const_int 0))
              (clobber (reg:CC 17))])
    (set (match_dup 0) (match_dup 1))]
-  "operands[2] = gen_rtx_REG (SImode, true_regnum (operands[1]));")
+  "operands[2] = gen_lowpart (SImode, operands[1]);")
 
 (define_peephole2
   [(match_scratch:QI 1 "q")
   [(parallel [(set (match_dup 2) (const_int 0))
              (clobber (reg:CC 17))])
    (set (match_dup 0) (match_dup 1))]
-  "operands[2] = gen_rtx_REG (SImode, true_regnum (operands[1]));")
+  "operands[2] = gen_lowpart (SImode, operands[1]);")
 
 (define_peephole2
   [(match_scratch:SI 2 "r")
    && peep2_regno_dead_p (0, FLAGS_REG)"
   [(parallel [(set (match_dup 0) (const_int 0))
              (clobber (reg:CC 17))])]
-  "operands[0] = gen_rtx_REG (GET_MODE (operands[0]) == DImode ? DImode : SImode,
-                             true_regnum (operands[0]));")
+  "operands[0] = gen_lowpart (GET_MODE (operands[0]) == DImode ? DImode : SImode,
+                             operands[0]);")
 
 (define_peephole2
   [(set (strict_low_part (match_operand 0 "register_operand" ""))
    && peep2_regno_dead_p (0, FLAGS_REG)"
   [(parallel [(set (match_dup 0) (const_int -1))
              (clobber (reg:CC 17))])]
-  "operands[0] = gen_rtx_REG (GET_MODE (operands[0]) == DImode ? DImode : SImode,
-                             true_regnum (operands[0]));")
+  "operands[0] = gen_lowpart (GET_MODE (operands[0]) == DImode ? DImode : SImode,
+                             operands[0]);")
 
 ;; Attempt to convert simple leas to adds. These can be created by
 ;; move expanders.