|
@@ -773,8 +773,8 @@ body: |
|
|
; SI: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 2147483647
|
|
; SI: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 2147483647
|
|
; SI: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C1]]
|
|
; SI: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C1]]
|
|
; SI: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]
|
|
; SI: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]
|
|
- ; SI: %2:_(s32) = nnan G_OR [[AND]], [[AND1]]
|
|
|
|
- ; SI: $vgpr0 = COPY %2(s32)
|
|
|
|
|
|
+ ; SI: [[OR:%[0-9]+]]:_(s32) = nnan G_OR [[AND]], [[AND1]]
|
|
|
|
+ ; SI: $vgpr0 = COPY [[OR]](s32)
|
|
; VI-LABEL: name: test_copysign_s32_s32_flagss
|
|
; VI-LABEL: name: test_copysign_s32_s32_flagss
|
|
; VI: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0
|
|
; VI: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0
|
|
; VI: [[COPY1:%[0-9]+]]:_(s32) = COPY $vgpr1
|
|
; VI: [[COPY1:%[0-9]+]]:_(s32) = COPY $vgpr1
|
|
@@ -782,8 +782,8 @@ body: |
|
|
; VI: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 2147483647
|
|
; VI: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 2147483647
|
|
; VI: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C1]]
|
|
; VI: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C1]]
|
|
; VI: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]
|
|
; VI: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]
|
|
- ; VI: %2:_(s32) = nnan G_OR [[AND]], [[AND1]]
|
|
|
|
- ; VI: $vgpr0 = COPY %2(s32)
|
|
|
|
|
|
+ ; VI: [[OR:%[0-9]+]]:_(s32) = nnan G_OR [[AND]], [[AND1]]
|
|
|
|
+ ; VI: $vgpr0 = COPY [[OR]](s32)
|
|
; GFX9-LABEL: name: test_copysign_s32_s32_flagss
|
|
; GFX9-LABEL: name: test_copysign_s32_s32_flagss
|
|
; GFX9: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0
|
|
; GFX9: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0
|
|
; GFX9: [[COPY1:%[0-9]+]]:_(s32) = COPY $vgpr1
|
|
; GFX9: [[COPY1:%[0-9]+]]:_(s32) = COPY $vgpr1
|
|
@@ -791,8 +791,8 @@ body: |
|
|
; GFX9: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 2147483647
|
|
; GFX9: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 2147483647
|
|
; GFX9: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C1]]
|
|
; GFX9: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C1]]
|
|
; GFX9: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]
|
|
; GFX9: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]
|
|
- ; GFX9: %2:_(s32) = nnan G_OR [[AND]], [[AND1]]
|
|
|
|
- ; GFX9: $vgpr0 = COPY %2(s32)
|
|
|
|
|
|
+ ; GFX9: [[OR:%[0-9]+]]:_(s32) = nnan G_OR [[AND]], [[AND1]]
|
|
|
|
+ ; GFX9: $vgpr0 = COPY [[OR]](s32)
|
|
%0:_(s32) = COPY $vgpr0
|
|
%0:_(s32) = COPY $vgpr0
|
|
%1:_(s32) = COPY $vgpr1
|
|
%1:_(s32) = COPY $vgpr1
|
|
%2:_(s32) = nnan G_FCOPYSIGN %0, %1
|
|
%2:_(s32) = nnan G_FCOPYSIGN %0, %1
|
|
@@ -817,8 +817,8 @@ body: |
|
|
; SI: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY2]], [[C3]]
|
|
; SI: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY2]], [[C3]]
|
|
; SI: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[AND1]], [[C2]](s32)
|
|
; SI: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[AND1]], [[C2]](s32)
|
|
; SI: [[AND2:%[0-9]+]]:_(s32) = G_AND [[SHL]], [[C]]
|
|
; SI: [[AND2:%[0-9]+]]:_(s32) = G_AND [[SHL]], [[C]]
|
|
- ; SI: %3:_(s32) = nnan G_OR [[AND]], [[AND2]]
|
|
|
|
- ; SI: $vgpr0 = COPY %3(s32)
|
|
|
|
|
|
+ ; SI: [[OR:%[0-9]+]]:_(s32) = nnan G_OR [[AND]], [[AND2]]
|
|
|
|
+ ; SI: $vgpr0 = COPY [[OR]](s32)
|
|
; VI-LABEL: name: test_copysign_s32_s16_flags
|
|
; VI-LABEL: name: test_copysign_s32_s16_flags
|
|
; VI: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0
|
|
; VI: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0
|
|
; VI: [[COPY1:%[0-9]+]]:_(s32) = COPY $vgpr1
|
|
; VI: [[COPY1:%[0-9]+]]:_(s32) = COPY $vgpr1
|
|
@@ -831,8 +831,8 @@ body: |
|
|
; VI: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY2]], [[C3]]
|
|
; VI: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY2]], [[C3]]
|
|
; VI: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[AND1]], [[C2]](s32)
|
|
; VI: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[AND1]], [[C2]](s32)
|
|
; VI: [[AND2:%[0-9]+]]:_(s32) = G_AND [[SHL]], [[C]]
|
|
; VI: [[AND2:%[0-9]+]]:_(s32) = G_AND [[SHL]], [[C]]
|
|
- ; VI: %3:_(s32) = nnan G_OR [[AND]], [[AND2]]
|
|
|
|
- ; VI: $vgpr0 = COPY %3(s32)
|
|
|
|
|
|
+ ; VI: [[OR:%[0-9]+]]:_(s32) = nnan G_OR [[AND]], [[AND2]]
|
|
|
|
+ ; VI: $vgpr0 = COPY [[OR]](s32)
|
|
; GFX9-LABEL: name: test_copysign_s32_s16_flags
|
|
; GFX9-LABEL: name: test_copysign_s32_s16_flags
|
|
; GFX9: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0
|
|
; GFX9: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0
|
|
; GFX9: [[COPY1:%[0-9]+]]:_(s32) = COPY $vgpr1
|
|
; GFX9: [[COPY1:%[0-9]+]]:_(s32) = COPY $vgpr1
|
|
@@ -845,8 +845,8 @@ body: |
|
|
; GFX9: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY2]], [[C3]]
|
|
; GFX9: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY2]], [[C3]]
|
|
; GFX9: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[AND1]], [[C2]](s32)
|
|
; GFX9: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[AND1]], [[C2]](s32)
|
|
; GFX9: [[AND2:%[0-9]+]]:_(s32) = G_AND [[SHL]], [[C]]
|
|
; GFX9: [[AND2:%[0-9]+]]:_(s32) = G_AND [[SHL]], [[C]]
|
|
- ; GFX9: %3:_(s32) = nnan G_OR [[AND]], [[AND2]]
|
|
|
|
- ; GFX9: $vgpr0 = COPY %3(s32)
|
|
|
|
|
|
+ ; GFX9: [[OR:%[0-9]+]]:_(s32) = nnan G_OR [[AND]], [[AND2]]
|
|
|
|
+ ; GFX9: $vgpr0 = COPY [[OR]](s32)
|
|
%0:_(s32) = COPY $vgpr0
|
|
%0:_(s32) = COPY $vgpr0
|
|
%1:_(s32) = COPY $vgpr1
|
|
%1:_(s32) = COPY $vgpr1
|
|
%2:_(s16) = G_TRUNC %1
|
|
%2:_(s16) = G_TRUNC %1
|
|
@@ -872,8 +872,8 @@ body: |
|
|
; SI: [[LSHR:%[0-9]+]]:_(s32) = G_LSHR [[COPY1]], [[C2]](s32)
|
|
; SI: [[LSHR:%[0-9]+]]:_(s32) = G_LSHR [[COPY1]], [[C2]](s32)
|
|
; SI: [[TRUNC1:%[0-9]+]]:_(s16) = G_TRUNC [[LSHR]](s32)
|
|
; SI: [[TRUNC1:%[0-9]+]]:_(s16) = G_TRUNC [[LSHR]](s32)
|
|
; SI: [[AND1:%[0-9]+]]:_(s16) = G_AND [[TRUNC1]], [[C]]
|
|
; SI: [[AND1:%[0-9]+]]:_(s16) = G_AND [[TRUNC1]], [[C]]
|
|
- ; SI: %3:_(s16) = nnan G_OR [[AND]], [[AND1]]
|
|
|
|
- ; SI: [[ANYEXT:%[0-9]+]]:_(s32) = G_ANYEXT %3(s16)
|
|
|
|
|
|
+ ; SI: [[OR:%[0-9]+]]:_(s16) = nnan G_OR [[AND]], [[AND1]]
|
|
|
|
+ ; SI: [[ANYEXT:%[0-9]+]]:_(s32) = G_ANYEXT [[OR]](s16)
|
|
; SI: $vgpr0 = COPY [[ANYEXT]](s32)
|
|
; SI: $vgpr0 = COPY [[ANYEXT]](s32)
|
|
; VI-LABEL: name: test_copysign_s16_s32_flags
|
|
; VI-LABEL: name: test_copysign_s16_s32_flags
|
|
; VI: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0
|
|
; VI: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0
|
|
@@ -886,8 +886,8 @@ body: |
|
|
; VI: [[LSHR:%[0-9]+]]:_(s32) = G_LSHR [[COPY1]], [[C2]](s32)
|
|
; VI: [[LSHR:%[0-9]+]]:_(s32) = G_LSHR [[COPY1]], [[C2]](s32)
|
|
; VI: [[TRUNC1:%[0-9]+]]:_(s16) = G_TRUNC [[LSHR]](s32)
|
|
; VI: [[TRUNC1:%[0-9]+]]:_(s16) = G_TRUNC [[LSHR]](s32)
|
|
; VI: [[AND1:%[0-9]+]]:_(s16) = G_AND [[TRUNC1]], [[C]]
|
|
; VI: [[AND1:%[0-9]+]]:_(s16) = G_AND [[TRUNC1]], [[C]]
|
|
- ; VI: %3:_(s16) = nnan G_OR [[AND]], [[AND1]]
|
|
|
|
- ; VI: [[ANYEXT:%[0-9]+]]:_(s32) = G_ANYEXT %3(s16)
|
|
|
|
|
|
+ ; VI: [[OR:%[0-9]+]]:_(s16) = nnan G_OR [[AND]], [[AND1]]
|
|
|
|
+ ; VI: [[ANYEXT:%[0-9]+]]:_(s32) = G_ANYEXT [[OR]](s16)
|
|
; VI: $vgpr0 = COPY [[ANYEXT]](s32)
|
|
; VI: $vgpr0 = COPY [[ANYEXT]](s32)
|
|
; GFX9-LABEL: name: test_copysign_s16_s32_flags
|
|
; GFX9-LABEL: name: test_copysign_s16_s32_flags
|
|
; GFX9: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0
|
|
; GFX9: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0
|
|
@@ -900,8 +900,8 @@ body: |
|
|
; GFX9: [[LSHR:%[0-9]+]]:_(s32) = G_LSHR [[COPY1]], [[C2]](s32)
|
|
; GFX9: [[LSHR:%[0-9]+]]:_(s32) = G_LSHR [[COPY1]], [[C2]](s32)
|
|
; GFX9: [[TRUNC1:%[0-9]+]]:_(s16) = G_TRUNC [[LSHR]](s32)
|
|
; GFX9: [[TRUNC1:%[0-9]+]]:_(s16) = G_TRUNC [[LSHR]](s32)
|
|
; GFX9: [[AND1:%[0-9]+]]:_(s16) = G_AND [[TRUNC1]], [[C]]
|
|
; GFX9: [[AND1:%[0-9]+]]:_(s16) = G_AND [[TRUNC1]], [[C]]
|
|
- ; GFX9: %3:_(s16) = nnan G_OR [[AND]], [[AND1]]
|
|
|
|
- ; GFX9: [[ANYEXT:%[0-9]+]]:_(s32) = G_ANYEXT %3(s16)
|
|
|
|
|
|
+ ; GFX9: [[OR:%[0-9]+]]:_(s16) = nnan G_OR [[AND]], [[AND1]]
|
|
|
|
+ ; GFX9: [[ANYEXT:%[0-9]+]]:_(s32) = G_ANYEXT [[OR]](s16)
|
|
; GFX9: $vgpr0 = COPY [[ANYEXT]](s32)
|
|
; GFX9: $vgpr0 = COPY [[ANYEXT]](s32)
|
|
%0:_(s32) = COPY $vgpr0
|
|
%0:_(s32) = COPY $vgpr0
|
|
%1:_(s32) = COPY $vgpr1
|
|
%1:_(s32) = COPY $vgpr1
|