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,"
53 # CHECK: - '%rax = MOV64rm %rip, 1, _, @G, _'
54 - '%rax = MOV64rm %rip, 1, _, @G, _'
55 - '%eax = MOV32rm %rax, 1, _, 0, _'
56 - '%eax = INC32r %eax, implicit-def %eflags'
66 # CHECK: - '%rax = MOV64rm %rip, 1, _, @0, _'
67 - '%rax = MOV64rm %rip, 1, _, @0, _'
68 - '%eax = MOV32rm %rax, 1, _, 0, _'
69 - '%eax = INC32r %eax, implicit-def %eflags'
82 - '%rax = MOV64rm %rip, 1, _, @.$0, _'
83 - '%eax = MOV32rm killed %rax, 1, _, 0, _'
84 - '%rcx = MOV64rm %rip, 1, _, @-_-, _'
85 - 'MOV32mr killed %rcx, 1, _, 0, _, killed %eax'
86 - '%rax = MOV64rm %rip, 1, _, @_-_a, _'
87 - '%eax = MOV32rm killed %rax, 1, _, 0, _'
88 - '%rcx = MOV64rm %rip, 1, _, @$.-B, _'
89 - 'MOV32mr killed %rcx, 1, _, 0, _, %eax'
98 # CHECK: , @"\01Hello@$%09 \5C World,",
99 - '%rax = MOV64rm %rip, 1, _, @"\01Hello@$%09 \\ World,", _'
100 - '%eax = MOV32rm killed %rax, 1, _, 0, _'