diff options
author | Jakub Jelinek <jakub@redhat.com> | 2009-04-01 18:18:46 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2009-04-01 18:18:46 +0200 |
commit | d93e052c0e8274666c0c4f05169c936d019084f9 (patch) | |
tree | bb87527ed606432321b5032ccdae2e7af3da3467 /gcc/config/rs6000/rs6000.md | |
parent | eddd291e260549659b0a04f6ae73093fb4d3d467 (diff) | |
download | gcc-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/rs6000.md')
-rw-r--r-- | gcc/config/rs6000/rs6000.md | 40 |
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))) |