aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/rs6000
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2009-04-01 18:18:46 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2009-04-01 18:18:46 +0200
commitd93e052c0e8274666c0c4f05169c936d019084f9 (patch)
treebb87527ed606432321b5032ccdae2e7af3da3467 /gcc/config/rs6000
parenteddd291e260549659b0a04f6ae73093fb4d3d467 (diff)
downloadgcc-d93e052c0e8274666c0c4f05169c936d019084f9.zip
gcc-d93e052c0e8274666c0c4f05169c936d019084f9.tar.gz
gcc-d93e052c0e8274666c0c4f05169c936d019084f9.tar.bz2
re PR target/39226 (gcc_assert (verify_initial_elim_offsets ()); ICE)
PR target/39226 * config/rs6000/rs6000.md (andsi3_internal5_nomc, anddi3_internal2_nomc, anddi3_internal3_nomc): Removed. (booldi3_internal3): Use boolean_or_operator instead of boolean_operator. * gcc.dg/pr39226.c: New test. From-SVN: r145411
Diffstat (limited to 'gcc/config/rs6000')
-rw-r--r--gcc/config/rs6000/rs6000.md40
1 files changed, 1 insertions, 39 deletions
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index 88322fd..c2f05e5 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -2999,20 +2999,6 @@
[(set_attr "type" "compare,compare,compare,delayed_compare,compare,compare,compare,compare")
(set_attr "length" "8,4,4,4,8,8,8,8")])
-(define_insn "*andsi3_internal5_nomc"
- [(set (match_operand:CC 3 "cc_reg_operand" "=x,?y,??y,??y,?y")
- (compare:CC (and:SI (match_operand:SI 1 "gpc_reg_operand" "%r,r,r,r,r")
- (match_operand:SI 2 "and_operand" "r,r,K,L,T"))
- (const_int 0)))
- (set (match_operand:SI 0 "gpc_reg_operand" "=r,r,r,r,r")
- (and:SI (match_dup 1)
- (match_dup 2)))
- (clobber (match_scratch:CC 4 "=X,X,x,x,X"))]
- "TARGET_64BIT && !rs6000_gen_cell_microcode"
- "#"
- [(set_attr "type" "compare")
- (set_attr "length" "8,8,8,8,8")])
-
(define_split
[(set (match_operand:CC 3 "cc_reg_not_micro_cr0_operand" "")
(compare:CC (and:SI (match_operand:SI 1 "gpc_reg_operand" "")
@@ -7684,18 +7670,6 @@
[(set_attr "type" "compare,compare,delayed_compare,compare,compare,compare,compare,compare,compare,compare,compare,compare")
(set_attr "length" "4,4,4,4,4,8,8,8,8,8,8,12")])
-(define_insn "*anddi3_internal2_nomc"
- [(set (match_operand:CC 0 "cc_reg_operand" "=x,?y,?y,??y,??y,?y")
- (compare:CC (and:DI (match_operand:DI 1 "gpc_reg_operand" "%r,r,r,r,r,r")
- (match_operand:DI 2 "and64_2_operand" "t,r,S,K,J,t"))
- (const_int 0)))
- (clobber (match_scratch:DI 3 "=r,r,r,r,r,r"))
- (clobber (match_scratch:CC 4 "=X,X,X,x,x,X"))]
- "TARGET_64BIT && !rs6000_gen_cell_microcode"
- "#"
- [(set_attr "type" "delayed_compare,compare,compare,compare,compare,compare")
- (set_attr "length" "8,8,8,8,8,12")])
-
(define_split
[(set (match_operand:CC 0 "cc_reg_operand" "")
(compare:CC (and:DI (match_operand:DI 1 "gpc_reg_operand" "")
@@ -7747,18 +7721,6 @@
[(set_attr "type" "compare,compare,delayed_compare,compare,compare,compare,compare,compare,compare,compare,compare,compare")
(set_attr "length" "4,4,4,4,4,8,8,8,8,8,8,12")])
-(define_insn "*anddi3_internal3_nomc"
- [(set (match_operand:CC 3 "cc_reg_operand" "=x,?y,?y,??y,??y,?y")
- (compare:CC (and:DI (match_operand:DI 1 "gpc_reg_operand" "%r,r,r,r,r,r")
- (match_operand:DI 2 "and64_2_operand" "t,r,S,K,J,t"))
- (const_int 0)))
- (set (match_operand:DI 0 "gpc_reg_operand" "=r,r,r,r,r,r")
- (and:DI (match_dup 1) (match_dup 2)))
- (clobber (match_scratch:CC 4 "=X,X,X,x,x,X"))]
- "TARGET_64BIT && !rs6000_gen_cell_microcode"
- "#"
- [(set_attr "type" "delayed_compare,compare,compare,compare,compare,compare")
- (set_attr "length" "8,8,8,8,8,12")])
(define_split
[(set (match_operand:CC 3 "cc_reg_not_micro_cr0_operand" "")
(compare:CC (and:DI (match_operand:DI 1 "gpc_reg_operand" "")
@@ -7915,7 +7877,7 @@
(define_insn "*booldi3_internal3"
[(set (match_operand:CC 3 "cc_reg_operand" "=x,?y")
- (compare:CC (match_operator:DI 4 "boolean_operator"
+ (compare:CC (match_operator:DI 4 "boolean_or_operator"
[(match_operand:DI 1 "gpc_reg_operand" "%r,r")
(match_operand:DI 2 "gpc_reg_operand" "r,r")])
(const_int 0)))