2013-02-01 12:40:47 +01:00
|
|
|
; RUN: llc -mtriple=aarch64-none-linux-gnu -verify-machineinstrs < %s | FileCheck %s
|
2013-01-31 13:12:40 +01: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-13 22:38:47 +02:00
|
|
|
; CHECK-LABEL: test_folding:
|
2013-01-31 13:12:40 +01:00
|
|
|
%l = alloca i32
|
|
|
|
store i32 42, i32* %l
|
|
|
|
%val = load i32* %l
|
|
|
|
%fpval = sitofp i32 %val to fp128
|
|
|
|
; If the value is loaded from a constant pool into an fp128, it's been folded
|
|
|
|
; successfully.
|
2013-02-15 10:33:43 +01:00
|
|
|
; CHECK: ldr {{q[0-9]+}}, [{{x[0-9]+}}, #:lo12:.LCPI
|
2013-01-31 13:12:40 +01:00
|
|
|
ret fp128 %fpval
|
2013-07-13 22:38:47 +02:00
|
|
|
}
|