View | Details | Raw Unified | Return to bug 19680 | Differences between
and this patch

Collapse All | Expand All

(-)config/i386/sse.md (-7 / +7 lines)
Lines 2380-2386 Link Here
2380
  [(set (match_operand:SSEMODE24 0 "register_operand" "=x")
2380
  [(set (match_operand:SSEMODE24 0 "register_operand" "=x")
2381
	(ashiftrt:SSEMODE24
2381
	(ashiftrt:SSEMODE24
2382
	  (match_operand:SSEMODE24 1 "register_operand" "0")
2382
	  (match_operand:SSEMODE24 1 "register_operand" "0")
2383
	  (match_operand:SI 2 "nonmemory_operand" "xi")))]
2383
	  (match_operand:SI 2 "general_operand" "xi")))]
2384
  "TARGET_SSE2"
2384
  "TARGET_SSE2"
2385
  "psra<ssevecsize>\t{%2, %0|%0, %2}"
2385
  "psra<ssevecsize>\t{%2, %0|%0, %2}"
2386
  [(set_attr "type" "sseishft")
2386
  [(set_attr "type" "sseishft")
Lines 2390-2396 Link Here
2390
  [(set (match_operand:SSEMODE248 0 "register_operand" "=x")
2390
  [(set (match_operand:SSEMODE248 0 "register_operand" "=x")
2391
	(lshiftrt:SSEMODE248
2391
	(lshiftrt:SSEMODE248
2392
	  (match_operand:SSEMODE248 1 "register_operand" "0")
2392
	  (match_operand:SSEMODE248 1 "register_operand" "0")
2393
	  (match_operand:SI 2 "nonmemory_operand" "xi")))]
2393
	  (match_operand:SI 2 "general_operand" "xi")))]
2394
  "TARGET_SSE2"
2394
  "TARGET_SSE2"
2395
  "psrl<ssevecsize>\t{%2, %0|%0, %2}"
2395
  "psrl<ssevecsize>\t{%2, %0|%0, %2}"
2396
  [(set_attr "type" "sseishft")
2396
  [(set_attr "type" "sseishft")
Lines 2400-2406 Link Here
2400
  [(set (match_operand:SSEMODE248 0 "register_operand" "=x")
2400
  [(set (match_operand:SSEMODE248 0 "register_operand" "=x")
2401
	(ashift:SSEMODE248
2401
	(ashift:SSEMODE248
2402
	  (match_operand:SSEMODE248 1 "register_operand" "0")
2402
	  (match_operand:SSEMODE248 1 "register_operand" "0")
2403
	  (match_operand:SI 2 "nonmemory_operand" "xi")))]
2403
	  (match_operand:SI 2 "general_operand" "xi")))]
2404
  "TARGET_SSE2"
2404
  "TARGET_SSE2"
2405
  "psll<ssevecsize>\t{%2, %0|%0, %2}"
2405
  "psll<ssevecsize>\t{%2, %0|%0, %2}"
2406
  [(set_attr "type" "sseishft")
2406
  [(set_attr "type" "sseishft")
Lines 2994-3000 Link Here
2994
(define_insn "*vec_dupv4si"
2994
(define_insn "*vec_dupv4si"
2995
  [(set (match_operand:V4SI 0 "register_operand" "=Y,x")
2995
  [(set (match_operand:V4SI 0 "register_operand" "=Y,x")
2996
	(vec_duplicate:V4SI
2996
	(vec_duplicate:V4SI
2997
	  (match_operand:SI 1 "register_operand" " Y,0")))]
2997
	  (match_operand:SI 1 "general_operand" "Y,0")))]
2998
  "TARGET_SSE"
2998
  "TARGET_SSE"
2999
  "@
2999
  "@
3000
   pshufd\t{$0, %1, %0|%0, %1, 0}
3000
   pshufd\t{$0, %1, %0|%0, %1, 0}
Lines 3005-3011 Link Here
3005
(define_insn "*vec_dupv2di"
3005
(define_insn "*vec_dupv2di"
3006
  [(set (match_operand:V2DI 0 "register_operand" "=Y,x")
3006
  [(set (match_operand:V2DI 0 "register_operand" "=Y,x")
3007
	(vec_duplicate:V2DI
3007
	(vec_duplicate:V2DI
3008
	  (match_operand:DI 1 "register_operand" " 0,0")))]
3008
	  (match_operand:DI 1 "general_operand" "0,0")))]
3009
  "TARGET_SSE"
3009
  "TARGET_SSE"
3010
  "@
3010
  "@
3011
   punpcklqdq\t%0, %0
3011
   punpcklqdq\t%0, %0
Lines 3020-3026 Link Here
3020
  [(set (match_operand:V2SI 0 "register_operand"     "=Y, Y,*y,*y")
3020
  [(set (match_operand:V2SI 0 "register_operand"     "=Y, Y,*y,*y")
3021
	(vec_concat:V2SI
3021
	(vec_concat:V2SI
3022
	  (match_operand:SI 1 "nonimmediate_operand" " 0,rm, 0,rm")
3022
	  (match_operand:SI 1 "nonimmediate_operand" " 0,rm, 0,rm")
3023
	  (match_operand:SI 2 "reg_or_0_operand"     " Y, C,*y, C")))]
3023
	  (match_operand:SI 2 "general_operand"      " Y, C,*y, C")))]
3024
  "TARGET_SSE2"
3024
  "TARGET_SSE2"
3025
  "@
3025
  "@
3026
   punpckldq\t{%2, %0|%0, %2}
3026
   punpckldq\t{%2, %0|%0, %2}
Lines 3034-3040 Link Here
3034
  [(set (match_operand:V2SI 0 "register_operand"     "=x,x,*y,*y")
3034
  [(set (match_operand:V2SI 0 "register_operand"     "=x,x,*y,*y")
3035
	(vec_concat:V2SI
3035
	(vec_concat:V2SI
3036
	  (match_operand:SI 1 "nonimmediate_operand" " 0,m, 0,*rm")
3036
	  (match_operand:SI 1 "nonimmediate_operand" " 0,m, 0,*rm")
3037
	  (match_operand:SI 2 "reg_or_0_operand"     " x,C,*y,C")))]
3037
	  (match_operand:SI 2 "general_operand"      " x,C,*y,C")))]
3038
  "TARGET_SSE"
3038
  "TARGET_SSE"
3039
  "@
3039
  "@
3040
   unpcklps\t{%2, %0|%0, %2}
3040
   unpcklps\t{%2, %0|%0, %2}

Return to bug 19680