blob: b8f716959449f4b542bbad8ccd0ef5b2a0b845e7 [file] [log] [blame]
Tim Northovere3d42362013-02-01 11:40:47 +00001; RUN: llc -verify-machineinstrs < %s -mtriple=aarch64-none-linux-gnu | FileCheck %s
Tim Northovere0e3aef2013-01-31 12:12:40 +00002
3@varf32 = global float 0.0
4@varf64 = global double 0.0
5
6define void @check_float() {
Stephen Lind24ab202013-07-14 06:24:09 +00007; CHECK-LABEL: check_float:
Tim Northovere0e3aef2013-01-31 12:12:40 +00008
9 %val = load float* @varf32
10 %newval1 = fadd float %val, 8.5
11 store volatile float %newval1, float* @varf32
Tim Northover1fdb0762013-10-09 07:53:57 +000012; CHECK-DAG: fmov [[EIGHT5:s[0-9]+]], #8.5
Tim Northovere0e3aef2013-01-31 12:12:40 +000013
14 %newval2 = fadd float %val, 128.0
15 store volatile float %newval2, float* @varf32
Tim Northover1fdb0762013-10-09 07:53:57 +000016; CHECK-DAG: ldr [[HARD:s[0-9]+]], [{{x[0-9]+}}, #:lo12:.LCPI0_0
Tim Northovere0e3aef2013-01-31 12:12:40 +000017
Tim Northover1fdb0762013-10-09 07:53:57 +000018; CHECK: ret
Tim Northovere0e3aef2013-01-31 12:12:40 +000019 ret void
20}
21
22define void @check_double() {
Stephen Lind24ab202013-07-14 06:24:09 +000023; CHECK-LABEL: check_double:
Tim Northovere0e3aef2013-01-31 12:12:40 +000024
25 %val = load double* @varf64
26 %newval1 = fadd double %val, 8.5
27 store volatile double %newval1, double* @varf64
Tim Northover1fdb0762013-10-09 07:53:57 +000028; CHECK-DAG: fmov {{d[0-9]+}}, #8.5
Tim Northovere0e3aef2013-01-31 12:12:40 +000029
30 %newval2 = fadd double %val, 128.0
31 store volatile double %newval2, double* @varf64
Tim Northover1fdb0762013-10-09 07:53:57 +000032; CHECK-DAG: ldr {{d[0-9]+}}, [{{x[0-9]+}}, #:lo12:.LCPI1_0
Tim Northovere0e3aef2013-01-31 12:12:40 +000033
Tim Northover1fdb0762013-10-09 07:53:57 +000034; CHECK: ret
Tim Northovere0e3aef2013-01-31 12:12:40 +000035 ret void
36}