diff options
author | Segher Boessenkool <segher@kernel.crashing.org> | 2015-05-12 15:44:25 +0200 |
---|---|---|
committer | Segher Boessenkool <segher@gcc.gnu.org> | 2015-05-12 15:44:25 +0200 |
commit | f369372b41c29447cdfdbe227d74a41c4e0327c5 (patch) | |
tree | 98cfdc58c7fa5937d01da60fb36284ca52426c10 | |
parent | 65fe0167ebf2f98ffcc21498d042521d464ebd08 (diff) | |
download | gcc-f369372b41c29447cdfdbe227d74a41c4e0327c5.zip gcc-f369372b41c29447cdfdbe227d74a41c4e0327c5.tar.gz gcc-f369372b41c29447cdfdbe227d74a41c4e0327c5.tar.bz2 |
rs6000.md (define_split for bswaphi): Don't use zero_extract.
* config/rs6000/rs6000.md (define_split for bswaphi): Don't use
zero_extract.
From-SVN: r223069
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.md | 8 |
2 files changed, 8 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f084795..4f7b7a1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org> + * config/rs6000/rs6000.md (define_split for bswaphi): Don't use + zero_extract. + +2015-05-12 Segher Boessenkool <segher@kernel.crashing.org> + * combine.c (recog_for_combine_1): New function, factored out from recog_for_combine. (change_zero_ext): New function. diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index acf890c..4bd16ee 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -2184,17 +2184,15 @@ [(set_attr "length" "4,4,12") (set_attr "type" "load,store,*")]) -;; We are always BITS_BIG_ENDIAN, so the (const_int 16) below is -;; correct for -mlittle as well as -mbig. (define_split [(set (match_operand:HI 0 "gpc_reg_operand" "") (bswap:HI (match_operand:HI 1 "gpc_reg_operand" ""))) (clobber (match_operand:SI 2 "gpc_reg_operand" ""))] "reload_completed" [(set (match_dup 3) - (zero_extract:SI (match_dup 4) - (const_int 8) - (const_int 16))) + (and:SI (lshiftrt:SI (match_dup 4) + (const_int 8)) + (const_int 255))) (set (match_dup 2) (and:SI (ashift:SI (match_dup 4) (const_int 8)) |