aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1994-05-27 18:17:52 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1994-05-27 18:17:52 -0400
commit4371f8afceeb77c398366b1ec3c26c43e9185673 (patch)
tree6139d9c2cc7fb2ffb159b190b5db5284736ce1c5 /gcc
parent2b5c5d028fb9cf9fb9dc7dbaa2dbdb3eb211949b (diff)
downloadgcc-4371f8afceeb77c398366b1ec3c26c43e9185673.zip
gcc-4371f8afceeb77c398366b1ec3c26c43e9185673.tar.gz
gcc-4371f8afceeb77c398366b1ec3c26c43e9185673.tar.bz2
(zero_extendqidi2, zero_extendhidi2): Use rldicl instruction.
From-SVN: r7376
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/rs6000/rs6000.md12
1 files changed, 6 insertions, 6 deletions
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index aeaef4d..63ac41b 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -265,7 +265,7 @@
"TARGET_POWERPC64"
"@
lbz%U1%X1 %0,%1
- andi %0,%1,0xff"
+ rldicl %0,%1,0,56"
[(set_attr "type" "load,*")])
(define_insn ""
@@ -274,7 +274,7 @@
(const_int 0)))
(clobber (match_scratch:DI 2 "=r"))]
"TARGET_POWERPC64"
- "andi. %2,%1,0xff"
+ "rldicl. %2,%1,0,56"
[(set_attr "type" "compare")])
(define_insn ""
@@ -284,7 +284,7 @@
(set (match_operand:DI 0 "gpc_reg_operand" "=r")
(zero_extend:DI (match_dup 1)))]
"TARGET_POWERPC64"
- "andi. %0,%1,0xff"
+ "rldicl. %0,%1,0,56"
[(set_attr "type" "compare")])
(define_expand "extendqidi2"
@@ -333,7 +333,7 @@
"TARGET_POWERPC64"
"@
lhz%U1%X1 %0,%1
- andi %0,%1,0xffff"
+ rldicl %0,%1,0,48"
[(set_attr "type" "load,*")])
(define_insn ""
@@ -342,7 +342,7 @@
(const_int 0)))
(clobber (match_scratch:DI 2 "=r"))]
"TARGET_POWERPC64"
- "andi. %2,%1,0xffff"
+ "rldicl. %2,%1,0,48"
[(set_attr "type" "compare")])
(define_insn ""
@@ -352,7 +352,7 @@
(set (match_operand:DI 0 "gpc_reg_operand" "=r")
(zero_extend:DI (match_dup 1)))]
"TARGET_POWERPC64"
- "andi. %0,%1,0xffff"
+ "rldicl. %0,%1,0,48"
[(set_attr "type" "compare")])
(define_expand "extendhidi2"