[Alignment][NFC] migrate DataLayout internal struct to llvm::Align
[llvm-core.git] / test / CodeGen / AArch64 / GlobalISel / select-redundant-zext-of-load.mir
blob46b1ac4221c21c00f6d074e5c79aacabe745d429
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=aarch64-- -O0 -run-pass=instruction-select -verify-machineinstrs %s -global-isel-abort=1 -o - | FileCheck %s
3 ---
4 name:            redundant_zext_8
5 legalized:       true
6 regBankSelected: true
7 tracksRegLiveness: true
8 body:             |
9   bb.1:
10     liveins: $x0
12     ; CHECK-LABEL: name: redundant_zext_8
13     ; CHECK: liveins: $x0
14     ; CHECK: [[COPY:%[0-9]+]]:gpr64sp = COPY $x0
15     ; CHECK: [[LDRBBui:%[0-9]+]]:gpr32 = LDRBBui [[COPY]], 0 :: (load 1)
16     ; CHECK: [[COPY1:%[0-9]+]]:gpr32all = COPY [[LDRBBui]]
17     ; CHECK: $w0 = COPY [[COPY1]]
18     ; CHECK: RET_ReallyLR implicit $w0
19     %1:gpr(p0) = COPY $x0
20     %2:gpr(s8) = G_LOAD %1(p0) :: (load 1)
21     %3:gpr(s32) = G_ZEXT %2(s8)
22     $w0 = COPY %3(s32)
23     RET_ReallyLR implicit $w0
25 ...
26 ---
27 name:            redundant_zext_16
28 legalized:       true
29 regBankSelected: true
30 tracksRegLiveness: true
31 body:             |
32   bb.1:
33     liveins: $x0
35     ; CHECK-LABEL: name: redundant_zext_16
36     ; CHECK: liveins: $x0
37     ; CHECK: [[COPY:%[0-9]+]]:gpr64sp = COPY $x0
38     ; CHECK: [[LDRHHui:%[0-9]+]]:gpr32 = LDRHHui [[COPY]], 0 :: (load 2)
39     ; CHECK: [[COPY1:%[0-9]+]]:gpr32all = COPY [[LDRHHui]]
40     ; CHECK: $w0 = COPY [[COPY1]]
41     ; CHECK: RET_ReallyLR implicit $w0
42     %1:gpr(p0) = COPY $x0
43     %2:gpr(s16) = G_LOAD %1(p0) :: (load 2)
44     %3:gpr(s32) = G_ZEXT %2(s16)
45     $w0 = COPY %3(s32)
46     RET_ReallyLR implicit $w0
48 ...