Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / CodeGen / XCore / unaligned_load.ll
blob2bf158aade316a7ae5662e51b113ca98b3f09cf6
1 ; RUN: llc < %s -march=xcore | FileCheck %s
3 ; Byte aligned load.
4 ; CHECK: align1
5 ; CHECK: bl __misaligned_load
6 define i32 @align1(ptr %p) nounwind {
7 entry:
8         %0 = load i32, ptr %p, align 1          ; <i32> [#uses=1]
9         ret i32 %0
12 ; Half word aligned load.
13 ; CHECK-LABEL: align2:
14 ; CHECK: ld16s
15 ; CHECK: ld16s
16 ; CHECK: or
17 define i32 @align2(ptr %p) nounwind {
18 entry:
19         %0 = load i32, ptr %p, align 2          ; <i32> [#uses=1]
20         ret i32 %0
23 @a = global [5 x i8] zeroinitializer, align 4
25 ; Constant offset from word aligned base.
26 ; CHECK-LABEL: align3:
27 ; CHECK: ldw {{r[0-9]+}}, dp
28 ; CHECK: ldw {{r[0-9]+}}, dp
29 ; CHECK: or
30 define i32 @align3() nounwind {
31 entry:
32         %0 = load i32, ptr getelementptr ([5 x i8], ptr @a, i32 0, i32 1), align 1
33         ret i32 %0