@@ -30,37 +30,30 @@ name: test_g_implicit_def_cample_size
3030body : |
3131 bb.1:
3232 ; AVX2-LABEL: name: test_g_implicit_def_cample_size
33- ; AVX2: [[DEF:%[0-9]+]]:_(s64) = G_IMPLICIT_DEF
34- ; AVX2-NEXT: [[BUILD_VECTOR:%[0-9]+]]:_(<5 x s64>) = G_BUILD_VECTOR [[DEF]](s64), [[DEF]](s64), [[DEF]](s64), [[DEF]](s64), [[DEF]](s64)
35- ; AVX2-NEXT: [[TRUNC:%[0-9]+]]:_(<5 x s63>) = G_TRUNC [[BUILD_VECTOR]](<5 x s64>)
36- ; AVX2-NEXT: RET 0, implicit [[TRUNC]](<5 x s63>)
33+ ; AVX2: [[COPY:%[0-9]+]]:_(p0) = COPY $rdi
34+ ; AVX2-NEXT: [[DEF:%[0-9]+]]:_(<5 x s63>) = G_IMPLICIT_DEF
35+ ; AVX2-NEXT: G_STORE [[DEF]](<5 x s63>), [[COPY]](p0) :: (store (<5 x s63>), align 64)
36+ ; AVX2-NEXT: $rax = COPY [[COPY]](p0)
37+ ; AVX2-NEXT: RET 0, $rax
3738 ;
3839 ; SSE2-LABEL: name: test_g_implicit_def_cample_size
39- ; SSE2: [[DEF:%[0-9]+]]:_(s64) = G_IMPLICIT_DEF
40- ; SSE2-NEXT: [[BUILD_VECTOR:%[0-9]+]]:_(<5 x s64>) = G_BUILD_VECTOR [[DEF]](s64), [[DEF]](s64), [[DEF]](s64), [[DEF]](s64), [[DEF]](s64)
41- ; SSE2-NEXT: [[TRUNC:%[0-9]+]]:_(<5 x s63>) = G_TRUNC [[BUILD_VECTOR]](<5 x s64>)
42- ; SSE2-NEXT: RET 0, implicit [[TRUNC]](<5 x s63>)
40+ ; SSE2: [[COPY:%[0-9]+]]:_(p0) = COPY $rdi
41+ ; SSE2-NEXT: [[DEF:%[0-9]+]]:_(<5 x s63>) = G_IMPLICIT_DEF
42+ ; SSE2-NEXT: G_STORE [[DEF]](<5 x s63>), [[COPY]](p0) :: (store (<5 x s63>), align 64)
43+ ; SSE2-NEXT: $rax = COPY [[COPY]](p0)
44+ ; SSE2-NEXT: RET 0, $rax
4345 ;
4446 ; AVX512F-LABEL: name: test_g_implicit_def_cample_size
45- ; AVX512F: [[CONSTANT_POOL:%[0-9]+]]:_(p0) = G_CONSTANT_POOL %const.0
46- ; AVX512F-NEXT: [[LOAD:%[0-9]+]]:_(s64) = G_LOAD [[CONSTANT_POOL]](p0) :: (load (s64) from constant-pool, align 64)
47- ; AVX512F-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 8
48- ; AVX512F-NEXT: [[PTR_ADD:%[0-9]+]]:_(p0) = nuw inbounds G_PTR_ADD [[CONSTANT_POOL]], [[C]](s64)
49- ; AVX512F-NEXT: [[LOAD1:%[0-9]+]]:_(s64) = G_LOAD [[PTR_ADD]](p0) :: (load (s64) from constant-pool + 8, basealign 64)
50- ; AVX512F-NEXT: [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 16
51- ; AVX512F-NEXT: [[PTR_ADD1:%[0-9]+]]:_(p0) = nuw inbounds G_PTR_ADD [[CONSTANT_POOL]], [[C1]](s64)
52- ; AVX512F-NEXT: [[LOAD2:%[0-9]+]]:_(s64) = G_LOAD [[PTR_ADD1]](p0) :: (load (s64) from constant-pool + 16, align 16, basealign 64)
53- ; AVX512F-NEXT: [[C2:%[0-9]+]]:_(s64) = G_CONSTANT i64 24
54- ; AVX512F-NEXT: [[PTR_ADD2:%[0-9]+]]:_(p0) = nuw inbounds G_PTR_ADD [[CONSTANT_POOL]], [[C2]](s64)
55- ; AVX512F-NEXT: [[LOAD3:%[0-9]+]]:_(s64) = G_LOAD [[PTR_ADD2]](p0) :: (load (s64) from constant-pool + 24, basealign 64)
56- ; AVX512F-NEXT: [[C3:%[0-9]+]]:_(s64) = G_CONSTANT i64 32
57- ; AVX512F-NEXT: [[PTR_ADD3:%[0-9]+]]:_(p0) = nuw inbounds G_PTR_ADD [[CONSTANT_POOL]], [[C3]](s64)
58- ; AVX512F-NEXT: [[LOAD4:%[0-9]+]]:_(s64) = G_LOAD [[PTR_ADD3]](p0) :: (load (s64) from constant-pool + 32, align 32, basealign 64)
59- ; AVX512F-NEXT: [[BUILD_VECTOR:%[0-9]+]]:_(<5 x s64>) = G_BUILD_VECTOR [[LOAD]](s64), [[LOAD1]](s64), [[LOAD2]](s64), [[LOAD3]](s64), [[LOAD4]](s64)
60- ; AVX512F-NEXT: [[TRUNC:%[0-9]+]]:_(<5 x s63>) = G_TRUNC [[BUILD_VECTOR]](<5 x s64>)
61- ; AVX512F-NEXT: RET 0, implicit [[TRUNC]](<5 x s63>)
62- %0:_(<5 x s63>) = G_IMPLICIT_DEF
63- RET 0, implicit %0
47+ ; AVX512F: [[COPY:%[0-9]+]]:_(p0) = COPY $rdi
48+ ; AVX512F-NEXT: [[DEF:%[0-9]+]]:_(<5 x s63>) = G_IMPLICIT_DEF
49+ ; AVX512F-NEXT: G_STORE [[DEF]](<5 x s63>), [[COPY]](p0) :: (store (<5 x s63>), align 64)
50+ ; AVX512F-NEXT: $rax = COPY [[COPY]](p0)
51+ ; AVX512F-NEXT: RET 0, $rax
52+ %0:_(p0) = COPY $rdi
53+ %1:_(<5 x s63>) = G_IMPLICIT_DEF
54+ G_STORE %1:_(<5 x s63>), %0:_(p0) :: (store (<5 x s63>), align 64)
55+ $rax = COPY %0:_(p0)
56+ RET 0, $rax
6457 ...
6558
6659
0 commit comments