12
12
; MIR-DAG: ![[SET1:[0-9]+]] = !{![[SCOPE1]]}
13
13
14
14
; MIR-LABEL: name: test_memcpy
15
- ; MIR: %8 :vreg_128 = GLOBAL_LOAD_DWORDX4 %9 , 16, 0, implicit $exec :: (load (s128) from %ir.p1, align 4, !alias.scope ![[SET0]], !noalias ![[SET1]], addrspace 1)
16
- ; MIR: GLOBAL_STORE_DWORDX4 %10 , killed %8 , 0, 0, implicit $exec :: (store (s128) into %ir.p0, align 4, !alias.scope ![[SET0]], !noalias ![[SET1]], addrspace 1)
15
+ ; MIR: [[LOAD:%[0-9]+]] :vreg_128 = GLOBAL_LOAD_DWORDX4 %{{[0-9]+}} , 16, 0, implicit $exec :: (load (s128) from %ir.p1, align 4, !alias.scope ![[SET0]], !noalias ![[SET1]], addrspace 1)
16
+ ; MIR: GLOBAL_STORE_DWORDX4 %{{[0-9]+}} , killed [[LOAD]] , 0, 0, implicit $exec :: (store (s128) into %ir.p0, align 4, !alias.scope ![[SET0]], !noalias ![[SET1]], addrspace 1)
17
17
define i32 @test_memcpy (i32 addrspace (1 )* nocapture %p , i32 addrspace (1 )* nocapture readonly %q ) {
18
18
; Check loads of %q are scheduled ahead of that store of the memcpy on %p.
19
19
; CHECK-LABEL: test_memcpy:
@@ -34,8 +34,8 @@ define i32 @test_memcpy(i32 addrspace(1)* nocapture %p, i32 addrspace(1)* nocapt
34
34
}
35
35
36
36
; MIR-LABEL: name: test_memcpy_inline
37
- ; MIR: %8 :vreg_128 = GLOBAL_LOAD_DWORDX4 %9 , 16, 0, implicit $exec :: (load (s128) from %ir.p1, align 4, !alias.scope ![[SET0]], !noalias ![[SET1]], addrspace 1)
38
- ; MIR: GLOBAL_STORE_DWORDX4 %10 , killed %8 , 0, 0, implicit $exec :: (store (s128) into %ir.p0, align 4, !alias.scope ![[SET0]], !noalias ![[SET1]], addrspace 1)
37
+ ; MIR: [[LOAD:%[0-9]+]] :vreg_128 = GLOBAL_LOAD_DWORDX4 %{{[0-9]+}} , 16, 0, implicit $exec :: (load (s128) from %ir.p1, align 4, !alias.scope ![[SET0]], !noalias ![[SET1]], addrspace 1)
38
+ ; MIR: GLOBAL_STORE_DWORDX4 %{{[0-9]+}} , killed [[LOAD]] , 0, 0, implicit $exec :: (store (s128) into %ir.p0, align 4, !alias.scope ![[SET0]], !noalias ![[SET1]], addrspace 1)
39
39
define i32 @test_memcpy_inline (i32 addrspace (1 )* nocapture %p , i32 addrspace (1 )* nocapture readonly %q ) {
40
40
; Check loads of %q are scheduled ahead of that store of the memcpy on %p.
41
41
; CHECK-LABEL: test_memcpy_inline:
@@ -56,8 +56,8 @@ define i32 @test_memcpy_inline(i32 addrspace(1)* nocapture %p, i32 addrspace(1)*
56
56
}
57
57
58
58
; MIR-LABEL: name: test_memmove
59
- ; MIR: %8 :vreg_128 = GLOBAL_LOAD_DWORDX4 %9 , 16, 0, implicit $exec :: (load (s128) from %ir.p1, align 4, !alias.scope ![[SET0]], !noalias ![[SET1]], addrspace 1)
60
- ; MIR: GLOBAL_STORE_DWORDX4 %10 , killed %8 , 0, 0, implicit $exec :: (store (s128) into %ir.p0, align 4, !alias.scope ![[SET0]], !noalias ![[SET1]], addrspace 1)
59
+ ; MIR: [[LOAD:%[0-9]+]] :vreg_128 = GLOBAL_LOAD_DWORDX4 %{{[0-9]+}} , 16, 0, implicit $exec :: (load (s128) from %ir.p1, align 4, !alias.scope ![[SET0]], !noalias ![[SET1]], addrspace 1)
60
+ ; MIR: GLOBAL_STORE_DWORDX4 %{{[0-9]+}} , killed [[LOAD]] , 0, 0, implicit $exec :: (store (s128) into %ir.p0, align 4, !alias.scope ![[SET0]], !noalias ![[SET1]], addrspace 1)
61
61
define i32 @test_memmove (i32 addrspace (1 )* nocapture %p , i32 addrspace (1 )* nocapture readonly %q ) {
62
62
; Check loads of %q are scheduled ahead of that store of the memmove on %p.
63
63
; CHECK-LABEL: test_memmove:
@@ -78,7 +78,7 @@ define i32 @test_memmove(i32 addrspace(1)* nocapture %p, i32 addrspace(1)* nocap
78
78
}
79
79
80
80
; MIR-LABEL: name: test_memset
81
- ; MIR: GLOBAL_STORE_DWORDX4 killed %10 , killed %11 , 0, 0, implicit $exec :: (store (s128) into %ir.p0, align 4, !alias.scope ![[SET0]], !noalias ![[SET1]], addrspace 1)
81
+ ; MIR: GLOBAL_STORE_DWORDX4 killed %{{[0-9]+}} , killed %{{[0-9]+}} , 0, 0, implicit $exec :: (store (s128) into %ir.p0, align 4, !alias.scope ![[SET0]], !noalias ![[SET1]], addrspace 1)
82
82
define i32 @test_memset (i32 addrspace (1 )* nocapture %p , i32 addrspace (1 )* nocapture readonly %q ) {
83
83
; Check loads of %q are scheduled ahead of that store of the memset on %p.
84
84
; CHECK-LABEL: test_memset:
0 commit comments