[WebAssembly] Fix legalization of shift operators on large integer types.
[oota-llvm.git] / test / CodeGen / Thumb2 / aligned-constants.ll
1 ; RUN: llc < %s -mcpu=cortex-a8 | FileCheck %s
2 target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:32:64-v128:32:128-a0:0:32-n32-S32"
3 target triple = "thumbv7-apple-ios"
4
5 ; The double in the constant pool is 8-byte aligned, forcing the function
6 ; alignment.
7 ; CHECK: .align 3
8 ; CHECK: func
9 ;
10 ; Constant pool with 8-byte entry before 4-byte entry:
11 ; CHECK: .align 3
12 ; CHECK: LCPI
13 ; CHECK:        .long   2370821947
14 ; CHECK:        .long   1080815255
15 ; CHECK: LCPI
16 ; CHECK:        .long   1123477881
17 define void @func(float* nocapture %x, double* nocapture %y) nounwind ssp {
18 entry:
19   %0 = load float, float* %x, align 4
20   %add = fadd float %0, 0x405EDD2F20000000
21   store float %add, float* %x, align 4
22   %1 = load double, double* %y, align 4
23   %add1 = fadd double %1, 2.234560e+02
24   store double %add1, double* %y, align 4
25   ret void
26 }