Tim Northover | 46ecdf5 | 2014-04-16 11:53:07 +0000 | [diff] [blame^] | 1 | ; RUN: llc -mtriple=aarch64-linux-gnu < %s -show-mc-encoding -code-model=large | FileCheck %s --check-prefix=CHECK-AARCH64 |
| 2 | ; RUN: llc -mtriple=arm64-linux-gnu < %s -show-mc-encoding -code-model=large | FileCheck %s --check-prefix=CHECK-ARM64 |
Tim Northover | 8625fd8 | 2013-07-01 19:23:10 +0000 | [diff] [blame] | 3 | |
| 4 | @var = global i32 0 |
| 5 | |
| 6 | ; CodeGen should ensure that the correct shift bits are set, because the linker |
| 7 | ; isn't going to! |
| 8 | |
| 9 | define i32* @get_var() { |
| 10 | ret i32* @var |
Tim Northover | 46ecdf5 | 2014-04-16 11:53:07 +0000 | [diff] [blame^] | 11 | ; CHECK-AARCH64: movz x0, #:abs_g3:var // encoding: [A,A,0xe0'A',0xd2'A'] |
| 12 | ; CHECK-AARCH64: movk x0, #:abs_g2_nc:var // encoding: [A,A,0xc0'A',0xf2'A'] |
| 13 | ; CHECK-AARCH64: movk x0, #:abs_g1_nc:var // encoding: [A,A,0xa0'A',0xf2'A'] |
| 14 | ; CHECK-AARCH64: movk x0, #:abs_g0_nc:var // encoding: [A,A,0x80'A',0xf2'A'] |
| 15 | |
| 16 | ; CHECK-ARM64: movz x0, #:abs_g3:var // encoding: [0bAAA00000,A,0b111AAAAA,0xd2] |
| 17 | ; CHECK-ARM64: movk x0, #:abs_g2_nc:var // encoding: [0bAAA00000,A,0b110AAAAA,0xf2] |
| 18 | ; CHECK-ARM64: movk x0, #:abs_g1_nc:var // encoding: [0bAAA00000,A,0b101AAAAA,0xf2] |
| 19 | ; CHECK-ARM64: movk x0, #:abs_g0_nc:var // encoding: [0bAAA00000,A,0b100AAAAA,0xf2] |
Tim Northover | 8625fd8 | 2013-07-01 19:23:10 +0000 | [diff] [blame] | 20 | } |