@@ -15,7 +15,7 @@ define amdgpu_kernel void @test_fold_canonicalize_undef_value_f16(half addrspace
15
15
; VI-LABEL: test_fold_canonicalize_undef_value_f16:
16
16
; VI: ; %bb.0:
17
17
; VI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
18
- ; VI-NEXT: v_mov_b32_e32 v2, 0x7e00
18
+ ; VI-NEXT: v_mov_b32_e32 v2, 0
19
19
; VI-NEXT: s_waitcnt lgkmcnt(0)
20
20
; VI-NEXT: v_mov_b32_e32 v0, s0
21
21
; VI-NEXT: v_mov_b32_e32 v1, s1
@@ -26,17 +26,16 @@ define amdgpu_kernel void @test_fold_canonicalize_undef_value_f16(half addrspace
26
26
; GFX9: ; %bb.0:
27
27
; GFX9-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
28
28
; GFX9-NEXT: v_mov_b32_e32 v0, 0
29
- ; GFX9-NEXT: v_mov_b32_e32 v1, 0x7e00
30
29
; GFX9-NEXT: s_waitcnt lgkmcnt(0)
31
- ; GFX9-NEXT: global_store_short v0, v1 , s[0:1]
30
+ ; GFX9-NEXT: global_store_short v0, v0 , s[0:1]
32
31
; GFX9-NEXT: s_endpgm
33
32
;
34
33
; CI-LABEL: test_fold_canonicalize_undef_value_f16:
35
34
; CI: ; %bb.0:
36
35
; CI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
37
36
; CI-NEXT: s_mov_b32 s3, 0xf000
38
37
; CI-NEXT: s_mov_b32 s2, -1
39
- ; CI-NEXT: v_mov_b32_e32 v0, 0x7e00
38
+ ; CI-NEXT: v_mov_b32_e32 v0, 0
40
39
; CI-NEXT: s_waitcnt lgkmcnt(0)
41
40
; CI-NEXT: buffer_store_short v0, off, s[0:3], 0
42
41
; CI-NEXT: s_endpgm
@@ -1847,7 +1846,7 @@ define amdgpu_kernel void @s_test_canonicalize_undef_v2f16(<2 x half> addrspace(
1847
1846
; VI-LABEL: s_test_canonicalize_undef_v2f16:
1848
1847
; VI: ; %bb.0:
1849
1848
; VI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
1850
- ; VI-NEXT: v_mov_b32_e32 v2, 0x7e007e00
1849
+ ; VI-NEXT: v_mov_b32_e32 v2, 0
1851
1850
; VI-NEXT: s_waitcnt lgkmcnt(0)
1852
1851
; VI-NEXT: v_mov_b32_e32 v0, s0
1853
1852
; VI-NEXT: v_mov_b32_e32 v1, s1
@@ -1858,17 +1857,16 @@ define amdgpu_kernel void @s_test_canonicalize_undef_v2f16(<2 x half> addrspace(
1858
1857
; GFX9: ; %bb.0:
1859
1858
; GFX9-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
1860
1859
; GFX9-NEXT: v_mov_b32_e32 v0, 0
1861
- ; GFX9-NEXT: v_mov_b32_e32 v1, 0x7e007e00
1862
1860
; GFX9-NEXT: s_waitcnt lgkmcnt(0)
1863
- ; GFX9-NEXT: global_store_dword v0, v1 , s[0:1]
1861
+ ; GFX9-NEXT: global_store_dword v0, v0 , s[0:1]
1864
1862
; GFX9-NEXT: s_endpgm
1865
1863
;
1866
1864
; CI-LABEL: s_test_canonicalize_undef_v2f16:
1867
1865
; CI: ; %bb.0:
1868
1866
; CI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
1869
1867
; CI-NEXT: s_mov_b32 s3, 0xf000
1870
1868
; CI-NEXT: s_mov_b32 s2, -1
1871
- ; CI-NEXT: v_mov_b32_e32 v0, 0x7e007e00
1869
+ ; CI-NEXT: v_mov_b32_e32 v0, 0
1872
1870
; CI-NEXT: s_waitcnt lgkmcnt(0)
1873
1871
; CI-NEXT: buffer_store_dword v0, off, s[0:3], 0
1874
1872
; CI-NEXT: s_endpgm
@@ -1934,19 +1932,19 @@ define <2 x half> @v_test_canonicalize_undef_lo_imm_hi_v2f16() #1 {
1934
1932
; VI-LABEL: v_test_canonicalize_undef_lo_imm_hi_v2f16:
1935
1933
; VI: ; %bb.0:
1936
1934
; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
1937
- ; VI-NEXT: v_mov_b32_e32 v0, 0x3c003c00
1935
+ ; VI-NEXT: v_bfrev_b32_e32 v0, 60
1938
1936
; VI-NEXT: s_setpc_b64 s[30:31]
1939
1937
;
1940
1938
; GFX9-LABEL: v_test_canonicalize_undef_lo_imm_hi_v2f16:
1941
1939
; GFX9: ; %bb.0:
1942
1940
; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
1943
- ; GFX9-NEXT: v_mov_b32_e32 v0, 0x3c003c00
1941
+ ; GFX9-NEXT: v_bfrev_b32_e32 v0, 60
1944
1942
; GFX9-NEXT: s_setpc_b64 s[30:31]
1945
1943
;
1946
1944
; CI-LABEL: v_test_canonicalize_undef_lo_imm_hi_v2f16:
1947
1945
; CI: ; %bb.0:
1948
1946
; CI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
1949
- ; CI-NEXT: v_mov_b32_e32 v0, 0x7fc00000
1947
+ ; CI-NEXT: v_mov_b32_e32 v0, 0
1950
1948
; CI-NEXT: v_mov_b32_e32 v1, 1.0
1951
1949
; CI-NEXT: s_setpc_b64 s[30:31]
1952
1950
%vec = insertelement <2 x half > undef , half 1 .0 , i32 1
@@ -1958,20 +1956,20 @@ define <2 x half> @v_test_canonicalize_imm_lo_undef_hi_v2f16() #1 {
1958
1956
; VI-LABEL: v_test_canonicalize_imm_lo_undef_hi_v2f16:
1959
1957
; VI: ; %bb.0:
1960
1958
; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
1961
- ; VI-NEXT: v_mov_b32_e32 v0, 0x3c003c00
1959
+ ; VI-NEXT: v_mov_b32_e32 v0, 0x3c00
1962
1960
; VI-NEXT: s_setpc_b64 s[30:31]
1963
1961
;
1964
1962
; GFX9-LABEL: v_test_canonicalize_imm_lo_undef_hi_v2f16:
1965
1963
; GFX9: ; %bb.0:
1966
1964
; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
1967
- ; GFX9-NEXT: v_mov_b32_e32 v0, 0x3c003c00
1965
+ ; GFX9-NEXT: v_mov_b32_e32 v0, 0x3c00
1968
1966
; GFX9-NEXT: s_setpc_b64 s[30:31]
1969
1967
;
1970
1968
; CI-LABEL: v_test_canonicalize_imm_lo_undef_hi_v2f16:
1971
1969
; CI: ; %bb.0:
1972
1970
; CI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
1973
1971
; CI-NEXT: v_mov_b32_e32 v0, 1.0
1974
- ; CI-NEXT: v_mov_b32_e32 v1, 0x7fc00000
1972
+ ; CI-NEXT: v_mov_b32_e32 v1, 0
1975
1973
; CI-NEXT: s_setpc_b64 s[30:31]
1976
1974
%vec = insertelement <2 x half > undef , half 1 .0 , i32 0
1977
1975
%canonicalized = call <2 x half > @llvm.canonicalize.v2f16 (<2 x half > %vec )
@@ -1982,19 +1980,19 @@ define <2 x half> @v_test_canonicalize_undef_lo_k_hi_v2f16() #1 {
1982
1980
; VI-LABEL: v_test_canonicalize_undef_lo_k_hi_v2f16:
1983
1981
; VI: ; %bb.0:
1984
1982
; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
1985
- ; VI-NEXT: v_mov_b32_e32 v0, 0x4c004c00
1983
+ ; VI-NEXT: v_bfrev_b32_e32 v0, 50
1986
1984
; VI-NEXT: s_setpc_b64 s[30:31]
1987
1985
;
1988
1986
; GFX9-LABEL: v_test_canonicalize_undef_lo_k_hi_v2f16:
1989
1987
; GFX9: ; %bb.0:
1990
1988
; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
1991
- ; GFX9-NEXT: v_mov_b32_e32 v0, 0x4c004c00
1989
+ ; GFX9-NEXT: v_bfrev_b32_e32 v0, 50
1992
1990
; GFX9-NEXT: s_setpc_b64 s[30:31]
1993
1991
;
1994
1992
; CI-LABEL: v_test_canonicalize_undef_lo_k_hi_v2f16:
1995
1993
; CI: ; %bb.0:
1996
1994
; CI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
1997
- ; CI-NEXT: v_mov_b32_e32 v0, 0x7fc00000
1995
+ ; CI-NEXT: v_mov_b32_e32 v0, 0
1998
1996
; CI-NEXT: v_mov_b32_e32 v1, 0x41800000
1999
1997
; CI-NEXT: s_setpc_b64 s[30:31]
2000
1998
%vec = insertelement <2 x half > undef , half 16 .0 , i32 1
@@ -2006,20 +2004,20 @@ define <2 x half> @v_test_canonicalize_k_lo_undef_hi_v2f16() #1 {
2006
2004
; VI-LABEL: v_test_canonicalize_k_lo_undef_hi_v2f16:
2007
2005
; VI: ; %bb.0:
2008
2006
; VI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
2009
- ; VI-NEXT: v_mov_b32_e32 v0, 0x4c004c00
2007
+ ; VI-NEXT: v_mov_b32_e32 v0, 0x4c00
2010
2008
; VI-NEXT: s_setpc_b64 s[30:31]
2011
2009
;
2012
2010
; GFX9-LABEL: v_test_canonicalize_k_lo_undef_hi_v2f16:
2013
2011
; GFX9: ; %bb.0:
2014
2012
; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
2015
- ; GFX9-NEXT: v_mov_b32_e32 v0, 0x4c004c00
2013
+ ; GFX9-NEXT: v_mov_b32_e32 v0, 0x4c00
2016
2014
; GFX9-NEXT: s_setpc_b64 s[30:31]
2017
2015
;
2018
2016
; CI-LABEL: v_test_canonicalize_k_lo_undef_hi_v2f16:
2019
2017
; CI: ; %bb.0:
2020
2018
; CI-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
2021
2019
; CI-NEXT: v_mov_b32_e32 v0, 0x41800000
2022
- ; CI-NEXT: v_mov_b32_e32 v1, 0x7fc00000
2020
+ ; CI-NEXT: v_mov_b32_e32 v1, 0
2023
2021
; CI-NEXT: s_setpc_b64 s[30:31]
2024
2022
%vec = insertelement <2 x half > undef , half 16 .0 , i32 0
2025
2023
%canonicalized = call <2 x half > @llvm.canonicalize.v2f16 (<2 x half > %vec )
@@ -2086,7 +2084,7 @@ define amdgpu_kernel void @s_test_canonicalize_undef_v4f16(<4 x half> addrspace(
2086
2084
; VI-LABEL: s_test_canonicalize_undef_v4f16:
2087
2085
; VI: ; %bb.0:
2088
2086
; VI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
2089
- ; VI-NEXT: v_mov_b32_e32 v0, 0x7e007e00
2087
+ ; VI-NEXT: v_mov_b32_e32 v0, 0
2090
2088
; VI-NEXT: v_mov_b32_e32 v1, v0
2091
2089
; VI-NEXT: s_waitcnt lgkmcnt(0)
2092
2090
; VI-NEXT: v_mov_b32_e32 v3, s1
@@ -2097,17 +2095,16 @@ define amdgpu_kernel void @s_test_canonicalize_undef_v4f16(<4 x half> addrspace(
2097
2095
; GFX9-LABEL: s_test_canonicalize_undef_v4f16:
2098
2096
; GFX9: ; %bb.0:
2099
2097
; GFX9-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
2100
- ; GFX9-NEXT: v_mov_b32_e32 v0, 0x7e007e00
2101
- ; GFX9-NEXT: v_mov_b32_e32 v2, 0
2098
+ ; GFX9-NEXT: v_mov_b32_e32 v0, 0
2102
2099
; GFX9-NEXT: v_mov_b32_e32 v1, v0
2103
2100
; GFX9-NEXT: s_waitcnt lgkmcnt(0)
2104
- ; GFX9-NEXT: global_store_dwordx2 v2 , v[0:1], s[0:1]
2101
+ ; GFX9-NEXT: global_store_dwordx2 v0 , v[0:1], s[0:1]
2105
2102
; GFX9-NEXT: s_endpgm
2106
2103
;
2107
2104
; CI-LABEL: s_test_canonicalize_undef_v4f16:
2108
2105
; CI: ; %bb.0:
2109
2106
; CI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
2110
- ; CI-NEXT: v_mov_b32_e32 v0, 0x7e007e00
2107
+ ; CI-NEXT: v_mov_b32_e32 v0, 0
2111
2108
; CI-NEXT: s_mov_b32 s3, 0xf000
2112
2109
; CI-NEXT: s_mov_b32 s2, -1
2113
2110
; CI-NEXT: v_mov_b32_e32 v1, v0
0 commit comments