Merging r258471:
[oota-llvm.git] / test / CodeGen / AArch64 / fp128-folding.ll
1 ; RUN: llc -mtriple=aarch64-linux-gnu -verify-machineinstrs -o - %s | FileCheck %s
2 declare void @bar(i8*, i8*, i32*)
3
4 ; SelectionDAG used to try to fold some fp128 operations using the ppc128 type,
5 ; which is not supported.
6
7 define fp128 @test_folding() {
8 ; CHECK-LABEL: test_folding:
9   %l = alloca i32
10   store i32 42, i32* %l
11   %val = load i32, i32* %l
12   %fpval = sitofp i32 %val to fp128
13   ; If the value is loaded from a constant pool into an fp128, it's been folded
14   ; successfully.
15 ; CHECK: ldr {{q[0-9]+}}, [{{x[0-9]+}}, {{#?}}:lo12:.LCPI
16   ret fp128 %fpval
17 }