xref: /llvm-project/llvm/test/CodeGen/MIR/Generic/aligned-memoperands.mir (revision 41d5033eb162cb92b684855166cabfa3983b74c6)
1# RUN: llc -run-pass none -o - %s | FileCheck %s
2
3---
4name: aligned_memoperands
5body: |
6  bb.0:
7    ; CHECK-LABEL: name: aligned_memoperands
8    ; CHECK: [[DEF:%[0-9]+]]:_(p0) = IMPLICIT_DEF
9    ; CHECK-NEXT: [[LOAD:%[0-9]+]]:_(s32) = G_LOAD [[DEF]](p0) :: (load (s32) from `ptr undef`)
10    ; CHECK-NEXT: [[LOAD1:%[0-9]+]]:_(s32) = G_LOAD [[DEF]](p0) :: (load (s32) from `ptr undef`, align 2)
11    ; CHECK-NEXT: [[LOAD1:%[0-9]+]]:_(s32) = G_LOAD [[DEF]](p0) :: (load (s32) from `ptr undef`)
12    ; CHECK-NEXT: [[LOAD1:%[0-9]+]]:_(s32) = G_LOAD [[DEF]](p0) :: (load (s32) from `ptr undef`, align 8)
13    ; CHECK-NEXT: [[LOAD1:%[0-9]+]]:_(s32) = G_LOAD [[DEF]](p0) :: (load (s32) from `ptr undef` + 12, align 2)
14    ; CHECK-NEXT: [[LOAD1:%[0-9]+]]:_(s32) = G_LOAD [[DEF]](p0) :: (load (s32) from `ptr undef` + 12)
15    ; CHECK-NEXT: [[LOAD1:%[0-9]+]]:_(s32) = G_LOAD [[DEF]](p0) :: (load (s32) from `ptr undef` + 12, align 2)
16    ; CHECK-NEXT: [[LOAD1:%[0-9]+]]:_(s32) = G_LOAD [[DEF]](p0) :: (load (s32) from `ptr undef` + 12)
17    ; CHECK-NEXT: [[LOAD1:%[0-9]+]]:_(s32) = G_LOAD [[DEF]](p0) :: (load (s32) from `ptr undef` + 12, basealign 8)
18    %0:_(p0) = IMPLICIT_DEF
19    %1:_(s32) = G_LOAD %0 :: (load (s32) from `ptr undef`)
20    %1:_(s32) = G_LOAD %0 :: (load (s32) from `ptr undef`, align 2)
21    %1:_(s32) = G_LOAD %0 :: (load (s32) from `ptr undef`, align 4) ; redundant
22    %1:_(s32) = G_LOAD %0 :: (load (s32) from `ptr undef`, align 8)
23    %1:_(s32) = G_LOAD %0 :: (load (s32) from `ptr undef` + 12, align 2)
24    %1:_(s32) = G_LOAD %0 :: (load (s32) from `ptr undef` + 12, align 4) ; redundant
25    %1:_(s32) = G_LOAD %0 :: (load (s32) from `ptr undef` + 12, basealign 2) ; printed as "align"
26    %1:_(s32) = G_LOAD %0 :: (load (s32) from `ptr undef` + 12, basealign 4) ; redundant
27    %1:_(s32) = G_LOAD %0 :: (load (s32) from `ptr undef` + 12, basealign 8)
28...
29