2014-05-24 20:50:23 +08:00
|
|
|
; RUN: llc -mtriple=aarch64-linux-gnu -verify-machineinstrs -o - %s | FileCheck %s
|
2013-01-31 20:12:40 +08:00
|
|
|
declare void @bar(i8*, i8*, i32*)
|
|
|
|
|
|
|
|
; SelectionDAG used to try to fold some fp128 operations using the ppc128 type,
|
|
|
|
; which is not supported.
|
|
|
|
|
|
|
|
define fp128 @test_folding() {
|
2013-07-14 04:38:47 +08:00
|
|
|
; CHECK-LABEL: test_folding:
|
2013-01-31 20:12:40 +08:00
|
|
|
%l = alloca i32
|
|
|
|
store i32 42, i32* %l
|
2015-02-28 05:17:42 +08:00
|
|
|
%val = load i32, i32* %l
|
2013-01-31 20:12:40 +08:00
|
|
|
%fpval = sitofp i32 %val to fp128
|
|
|
|
; If the value is loaded from a constant pool into an fp128, it's been folded
|
|
|
|
; successfully.
|
2014-04-15 22:00:29 +08:00
|
|
|
; CHECK: ldr {{q[0-9]+}}, [{{x[0-9]+}}, {{#?}}:lo12:.LCPI
|
2013-01-31 20:12:40 +08:00
|
|
|
ret fp128 %fpval
|
2013-07-14 04:38:47 +08:00
|
|
|
}
|