1 # RUN: llc -march=x86-64 -start-after branch-folder -stop-after branch-folder -o /dev/null %s | FileCheck %s
2 # This test ensures that the MIR parser parses global value operands correctly.
6 @G = external global i32
7 @0 = external global i32
11 %a = load i32, i32* @G
18 %a = load i32, i32* @0
23 @.$0 = external global i32
24 @-_- = external global i32
25 @_-_a = external global i32
26 @$.-B = external global i32
30 %a = load i32, i32* @.$0
31 store i32 %a, i32* @-_-
32 %b = load i32, i32* @_-_a
33 store i32 %b, i32* @$.-B
37 @"\01Hello@$%09 \\ World," = external global i32
41 %a = load i32, i32* @"\01Hello@$%09 \\ World,"
47 %a = load i32, i32* @.$0
48 store i32 %a, i32* @-_-
49 %b = load i32, i32* @_-_a
50 store i32 %b, i32* @$.-B
62 # CHECK: - '%rax = MOV64rm %rip, 1, _, @G, _'
63 - '%rax = MOV64rm %rip, 1, _, @G, _'
64 - '%eax = MOV32rm %rax, 1, _, 0, _'
65 - '%eax = INC32r %eax, implicit-def %eflags'
75 # CHECK: - '%rax = MOV64rm %rip, 1, _, @0, _'
76 - '%rax = MOV64rm %rip, 1, _, @0, _'
77 - '%eax = MOV32rm %rax, 1, _, 0, _'
78 - '%eax = INC32r %eax, implicit-def %eflags'
91 - '%rax = MOV64rm %rip, 1, _, @.$0, _'
92 - '%eax = MOV32rm killed %rax, 1, _, 0, _'
93 - '%rcx = MOV64rm %rip, 1, _, @-_-, _'
94 - 'MOV32mr killed %rcx, 1, _, 0, _, killed %eax'
95 - '%rax = MOV64rm %rip, 1, _, @_-_a, _'
96 - '%eax = MOV32rm killed %rax, 1, _, 0, _'
97 - '%rcx = MOV64rm %rip, 1, _, @$.-B, _'
98 - 'MOV32mr killed %rcx, 1, _, 0, _, %eax'
107 # CHECK: , @"\01Hello@$%09 \5C World,",
108 - '%rax = MOV64rm %rip, 1, _, @"\01Hello@$%09 \\ World,", _'
109 - '%eax = MOV32rm killed %rax, 1, _, 0, _'
121 # CHECK: , @_-_a + 4,
122 # CHECK: , @"$.-B" - 8,
123 - '%rax = MOV64rm %rip, 1, _, @.$0 + 0, _'
124 - '%eax = MOV32rm killed %rax, 1, _, 0, _'
125 - '%rcx = MOV64rm %rip, 1, _, @-_- - 0, _'
126 - 'MOV32mr killed %rcx, 1, _, 0, _, killed %eax'
127 - '%rax = MOV64rm %rip, 1, _, @_-_a + 4, _'
128 - '%eax = MOV32rm killed %rax, 1, _, 0, _'
129 - '%rcx = MOV64rm %rip, 1, _, @$.-B - 8, _'
130 - 'MOV32mr killed %rcx, 1, _, 0, _, %eax'