Commit ffb41aab by Uros Bizjak Committed by Uros Bizjak

* config/i386/i386.md: Missing file from my previous commit.

From-SVN: r255019
parent 826eccc6
2017-11-21 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (*bswap<mode>2_movbe): Add
integer suffix to movbe mnemonic.
(*bswaphi2_movbe): Ditto.
(bswaphi_lowpart): Merge with *bswaphi_lowpart_1.
2017-11-21 Jakub Jelinek <jakub@redhat.com> 2017-11-21 Jakub Jelinek <jakub@redhat.com>
PR c++/83045 PR c++/83045
...@@ -14074,8 +14074,8 @@ ...@@ -14074,8 +14074,8 @@
&& !(MEM_P (operands[0]) && MEM_P (operands[1]))" && !(MEM_P (operands[0]) && MEM_P (operands[1]))"
"@ "@
bswap\t%0 bswap\t%0
movbe\t{%1, %0|%0, %1} movbe{<imodesuffix>}\t{%1, %0|%0, %1}
movbe\t{%1, %0|%0, %1}" movbe{<imodesuffix>}\t{%1, %0|%0, %1}"
[(set_attr "type" "bitmanip,imov,imov") [(set_attr "type" "bitmanip,imov,imov")
(set_attr "modrm" "0,1,1") (set_attr "modrm" "0,1,1")
(set_attr "prefix_0f" "*,1,1") (set_attr "prefix_0f" "*,1,1")
...@@ -14103,8 +14103,8 @@ ...@@ -14103,8 +14103,8 @@
&& !(MEM_P (operands[0]) && MEM_P (operands[1]))" && !(MEM_P (operands[0]) && MEM_P (operands[1]))"
"@ "@
xchg{b}\t{%h0, %b0|%b0, %h0} xchg{b}\t{%h0, %b0|%b0, %h0}
movbe\t{%1, %0|%0, %1} movbe{w}\t{%1, %0|%0, %1}
movbe\t{%1, %0|%0, %1}" movbe{w}\t{%1, %0|%0, %1}"
[(set_attr "type" "imov") [(set_attr "type" "imov")
(set_attr "modrm" "*,1,1") (set_attr "modrm" "*,1,1")
(set_attr "prefix_0f" "*,1,1") (set_attr "prefix_0f" "*,1,1")
...@@ -14124,26 +14124,25 @@ ...@@ -14124,26 +14124,25 @@
[(parallel [(set (match_dup 0) (rotate:HI (match_dup 0) (const_int 8))) [(parallel [(set (match_dup 0) (rotate:HI (match_dup 0) (const_int 8)))
(clobber (reg:CC FLAGS_REG))])]) (clobber (reg:CC FLAGS_REG))])])
(define_insn "*bswaphi_lowpart_1" (define_insn "bswaphi_lowpart"
[(set (strict_low_part (match_operand:HI 0 "register_operand" "+Q,r")) [(set (strict_low_part (match_operand:HI 0 "register_operand" "+Q,r"))
(bswap:HI (match_dup 0))) (bswap:HI (match_dup 0)))
(clobber (reg:CC FLAGS_REG))] (clobber (reg:CC FLAGS_REG))]
"TARGET_USE_XCHGB || optimize_function_for_size_p (cfun)" ""
"@ "@
xchg{b}\t{%h0, %b0|%b0, %h0} xchg{b}\t{%h0, %b0|%b0, %h0}
rol{w}\t{$8, %0|%0, 8}" rol{w}\t{$8, %0|%0, 8}"
[(set_attr "length" "2,4") [(set (attr "preferred_for_size")
(cond [(eq_attr "alternative" "0")
(symbol_ref "true")]
(symbol_ref "false")))
(set (attr "preferred_for_speed")
(cond [(eq_attr "alternative" "0")
(symbol_ref "TARGET_USE_XCHGB")]
(symbol_ref "!TARGET_USE_XCHGB")))
(set_attr "length" "2,4")
(set_attr "mode" "QI,HI")]) (set_attr "mode" "QI,HI")])
(define_insn "bswaphi_lowpart"
[(set (strict_low_part (match_operand:HI 0 "register_operand" "+r"))
(bswap:HI (match_dup 0)))
(clobber (reg:CC FLAGS_REG))]
""
"rol{w}\t{$8, %0|%0, 8}"
[(set_attr "length" "4")
(set_attr "mode" "HI")])
(define_expand "paritydi2" (define_expand "paritydi2"
[(set (match_operand:DI 0 "register_operand") [(set (match_operand:DI 0 "register_operand")
(parity:DI (match_operand:DI 1 "register_operand")))] (parity:DI (match_operand:DI 1 "register_operand")))]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment