Commit 22f89c92 by Jakub Jelinek Committed by Jakub Jelinek

i386.md (set_got, [...]): Remove constraints from expanders.

	* config/i386/i386.md (set_got, set_got_labelled, lwp_llwpcb,
	lwp_lwpval<mode>3, lwp_lwpins<mode>3): Remove constraints from
	expanders.
	* config/i386/sse.md (vec_interleave_high<mode>,
	vec_interleave_low<mode>, <avx512>_vpermi2var<mode>3_maskz,
	<avx512>_vpermt2var<mode>3_maskz): Likewise.

From-SVN: r236045
parent 8964ed82
2016-05-09 Jakub Jelinek <jakub@redhat.com>
* config/i386/i386.md (set_got, set_got_labelled, lwp_llwpcb,
lwp_lwpval<mode>3, lwp_lwpins<mode>3): Remove constraints from
expanders.
* config/i386/sse.md (vec_interleave_high<mode>,
vec_interleave_low<mode>, <avx512>_vpermi2var<mode>3_maskz,
<avx512>_vpermt2var<mode>3_maskz): Likewise.
2016-05-04 Aaron Sawdey <acsawdey@linux.vnet.ibm.com> 2016-05-04 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
* config/rs6000/rs6000.c (rs6000_reassociation_width): Add * config/rs6000/rs6000.c (rs6000_reassociation_width): Add
......
...@@ -12505,7 +12505,7 @@ ...@@ -12505,7 +12505,7 @@
(define_expand "set_got" (define_expand "set_got"
[(parallel [(parallel
[(set (match_operand:SI 0 "register_operand" "=r") [(set (match_operand:SI 0 "register_operand")
(unspec:SI [(const_int 0)] UNSPEC_SET_GOT)) (unspec:SI [(const_int 0)] UNSPEC_SET_GOT))
(clobber (reg:CC FLAGS_REG))])] (clobber (reg:CC FLAGS_REG))])]
"!TARGET_64BIT" "!TARGET_64BIT"
...@@ -12525,7 +12525,7 @@ ...@@ -12525,7 +12525,7 @@
(define_expand "set_got_labelled" (define_expand "set_got_labelled"
[(parallel [(parallel
[(set (match_operand:SI 0 "register_operand" "=r") [(set (match_operand:SI 0 "register_operand")
(unspec:SI [(label_ref (match_operand 1))] (unspec:SI [(label_ref (match_operand 1))]
UNSPEC_SET_GOT)) UNSPEC_SET_GOT))
(clobber (reg:CC FLAGS_REG))])] (clobber (reg:CC FLAGS_REG))])]
...@@ -19024,7 +19024,7 @@ ...@@ -19024,7 +19024,7 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(define_expand "lwp_llwpcb" (define_expand "lwp_llwpcb"
[(unspec_volatile [(match_operand 0 "register_operand" "r")] [(unspec_volatile [(match_operand 0 "register_operand")]
UNSPECV_LLWP_INTRINSIC)] UNSPECV_LLWP_INTRINSIC)]
"TARGET_LWP") "TARGET_LWP")
...@@ -19038,7 +19038,7 @@ ...@@ -19038,7 +19038,7 @@
(set_attr "length" "5")]) (set_attr "length" "5")])
(define_expand "lwp_slwpcb" (define_expand "lwp_slwpcb"
[(set (match_operand 0 "register_operand" "=r") [(set (match_operand 0 "register_operand")
(unspec_volatile [(const_int 0)] UNSPECV_SLWP_INTRINSIC))] (unspec_volatile [(const_int 0)] UNSPECV_SLWP_INTRINSIC))]
"TARGET_LWP" "TARGET_LWP"
{ {
...@@ -19062,9 +19062,9 @@ ...@@ -19062,9 +19062,9 @@
(set_attr "length" "5")]) (set_attr "length" "5")])
(define_expand "lwp_lwpval<mode>3" (define_expand "lwp_lwpval<mode>3"
[(unspec_volatile [(match_operand:SWI48 1 "register_operand" "r") [(unspec_volatile [(match_operand:SWI48 1 "register_operand")
(match_operand:SI 2 "nonimmediate_operand" "rm") (match_operand:SI 2 "nonimmediate_operand")
(match_operand:SI 3 "const_int_operand" "i")] (match_operand:SI 3 "const_int_operand")]
UNSPECV_LWPVAL_INTRINSIC)] UNSPECV_LWPVAL_INTRINSIC)]
"TARGET_LWP" "TARGET_LWP"
;; Avoid unused variable warning. ;; Avoid unused variable warning.
...@@ -19084,11 +19084,11 @@ ...@@ -19084,11 +19084,11 @@
(define_expand "lwp_lwpins<mode>3" (define_expand "lwp_lwpins<mode>3"
[(set (reg:CCC FLAGS_REG) [(set (reg:CCC FLAGS_REG)
(unspec_volatile:CCC [(match_operand:SWI48 1 "register_operand" "r") (unspec_volatile:CCC [(match_operand:SWI48 1 "register_operand")
(match_operand:SI 2 "nonimmediate_operand" "rm") (match_operand:SI 2 "nonimmediate_operand")
(match_operand:SI 3 "const_int_operand" "i")] (match_operand:SI 3 "const_int_operand")]
UNSPECV_LWPINS_INTRINSIC)) UNSPECV_LWPINS_INTRINSIC))
(set (match_operand:QI 0 "nonimmediate_operand" "=qm") (set (match_operand:QI 0 "nonimmediate_operand")
(eq:QI (reg:CCC FLAGS_REG) (const_int 0)))] (eq:QI (reg:CCC FLAGS_REG) (const_int 0)))]
"TARGET_LWP") "TARGET_LWP")
......
...@@ -11899,9 +11899,9 @@ ...@@ -11899,9 +11899,9 @@
(set_attr "mode" "TI")]) (set_attr "mode" "TI")])
(define_expand "vec_interleave_high<mode>" (define_expand "vec_interleave_high<mode>"
[(match_operand:VI_256 0 "register_operand" "=x") [(match_operand:VI_256 0 "register_operand")
(match_operand:VI_256 1 "register_operand" "x") (match_operand:VI_256 1 "register_operand")
(match_operand:VI_256 2 "nonimmediate_operand" "xm")] (match_operand:VI_256 2 "nonimmediate_operand")]
"TARGET_AVX2" "TARGET_AVX2"
{ {
rtx t1 = gen_reg_rtx (<MODE>mode); rtx t1 = gen_reg_rtx (<MODE>mode);
...@@ -11917,9 +11917,9 @@ ...@@ -11917,9 +11917,9 @@
}) })
(define_expand "vec_interleave_low<mode>" (define_expand "vec_interleave_low<mode>"
[(match_operand:VI_256 0 "register_operand" "=x") [(match_operand:VI_256 0 "register_operand")
(match_operand:VI_256 1 "register_operand" "x") (match_operand:VI_256 1 "register_operand")
(match_operand:VI_256 2 "nonimmediate_operand" "xm")] (match_operand:VI_256 2 "nonimmediate_operand")]
"TARGET_AVX2" "TARGET_AVX2"
{ {
rtx t1 = gen_reg_rtx (<MODE>mode); rtx t1 = gen_reg_rtx (<MODE>mode);
...@@ -17244,11 +17244,11 @@ ...@@ -17244,11 +17244,11 @@
(set_attr "mode" "<sseinsnmode>")]) (set_attr "mode" "<sseinsnmode>")])
(define_expand "<avx512>_vpermi2var<mode>3_maskz" (define_expand "<avx512>_vpermi2var<mode>3_maskz"
[(match_operand:VI48F 0 "register_operand" "=v") [(match_operand:VI48F 0 "register_operand")
(match_operand:VI48F 1 "register_operand" "v") (match_operand:VI48F 1 "register_operand")
(match_operand:<sseintvecmode> 2 "register_operand" "0") (match_operand:<sseintvecmode> 2 "register_operand")
(match_operand:VI48F 3 "nonimmediate_operand" "vm") (match_operand:VI48F 3 "nonimmediate_operand")
(match_operand:<avx512fmaskmode> 4 "register_operand" "Yk")] (match_operand:<avx512fmaskmode> 4 "register_operand")]
"TARGET_AVX512F" "TARGET_AVX512F"
{ {
emit_insn (gen_<avx512>_vpermi2var<mode>3_maskz_1 ( emit_insn (gen_<avx512>_vpermi2var<mode>3_maskz_1 (
...@@ -17272,11 +17272,11 @@ ...@@ -17272,11 +17272,11 @@
}) })
(define_expand "<avx512>_vpermi2var<mode>3_maskz" (define_expand "<avx512>_vpermi2var<mode>3_maskz"
[(match_operand:VI2_AVX512VL 0 "register_operand" "=v") [(match_operand:VI2_AVX512VL 0 "register_operand")
(match_operand:VI2_AVX512VL 1 "register_operand" "v") (match_operand:VI2_AVX512VL 1 "register_operand")
(match_operand:<sseintvecmode> 2 "register_operand" "0") (match_operand:<sseintvecmode> 2 "register_operand")
(match_operand:VI2_AVX512VL 3 "nonimmediate_operand" "vm") (match_operand:VI2_AVX512VL 3 "nonimmediate_operand")
(match_operand:<avx512fmaskmode> 4 "register_operand" "Yk")] (match_operand:<avx512fmaskmode> 4 "register_operand")]
"TARGET_AVX512BW" "TARGET_AVX512BW"
{ {
emit_insn (gen_<avx512>_vpermi2var<mode>3_maskz_1 ( emit_insn (gen_<avx512>_vpermi2var<mode>3_maskz_1 (
...@@ -17373,11 +17373,11 @@ ...@@ -17373,11 +17373,11 @@
(set_attr "mode" "<sseinsnmode>")]) (set_attr "mode" "<sseinsnmode>")])
(define_expand "<avx512>_vpermt2var<mode>3_maskz" (define_expand "<avx512>_vpermt2var<mode>3_maskz"
[(match_operand:VI48F 0 "register_operand" "=v") [(match_operand:VI48F 0 "register_operand")
(match_operand:<sseintvecmode> 1 "register_operand" "v") (match_operand:<sseintvecmode> 1 "register_operand")
(match_operand:VI48F 2 "register_operand" "0") (match_operand:VI48F 2 "register_operand")
(match_operand:VI48F 3 "nonimmediate_operand" "vm") (match_operand:VI48F 3 "nonimmediate_operand")
(match_operand:<avx512fmaskmode> 4 "register_operand" "Yk")] (match_operand:<avx512fmaskmode> 4 "register_operand")]
"TARGET_AVX512F" "TARGET_AVX512F"
{ {
emit_insn (gen_<avx512>_vpermt2var<mode>3_maskz_1 ( emit_insn (gen_<avx512>_vpermt2var<mode>3_maskz_1 (
...@@ -17387,11 +17387,11 @@ ...@@ -17387,11 +17387,11 @@
}) })
(define_expand "<avx512>_vpermt2var<mode>3_maskz" (define_expand "<avx512>_vpermt2var<mode>3_maskz"
[(match_operand:VI1_AVX512VL 0 "register_operand" "=v") [(match_operand:VI1_AVX512VL 0 "register_operand")
(match_operand:<sseintvecmode> 1 "register_operand" "v") (match_operand:<sseintvecmode> 1 "register_operand")
(match_operand:VI1_AVX512VL 2 "register_operand" "0") (match_operand:VI1_AVX512VL 2 "register_operand")
(match_operand:VI1_AVX512VL 3 "nonimmediate_operand" "vm") (match_operand:VI1_AVX512VL 3 "nonimmediate_operand")
(match_operand:<avx512fmaskmode> 4 "register_operand" "Yk")] (match_operand:<avx512fmaskmode> 4 "register_operand")]
"TARGET_AVX512VBMI" "TARGET_AVX512VBMI"
{ {
emit_insn (gen_<avx512>_vpermt2var<mode>3_maskz_1 ( emit_insn (gen_<avx512>_vpermt2var<mode>3_maskz_1 (
...@@ -17401,11 +17401,11 @@ ...@@ -17401,11 +17401,11 @@
}) })
(define_expand "<avx512>_vpermt2var<mode>3_maskz" (define_expand "<avx512>_vpermt2var<mode>3_maskz"
[(match_operand:VI2_AVX512VL 0 "register_operand" "=v") [(match_operand:VI2_AVX512VL 0 "register_operand")
(match_operand:<sseintvecmode> 1 "register_operand" "v") (match_operand:<sseintvecmode> 1 "register_operand")
(match_operand:VI2_AVX512VL 2 "register_operand" "0") (match_operand:VI2_AVX512VL 2 "register_operand")
(match_operand:VI2_AVX512VL 3 "nonimmediate_operand" "vm") (match_operand:VI2_AVX512VL 3 "nonimmediate_operand")
(match_operand:<avx512fmaskmode> 4 "register_operand" "Yk")] (match_operand:<avx512fmaskmode> 4 "register_operand")]
"TARGET_AVX512BW" "TARGET_AVX512BW"
{ {
emit_insn (gen_<avx512>_vpermt2var<mode>3_maskz_1 ( emit_insn (gen_<avx512>_vpermt2var<mode>3_maskz_1 (
......
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