blob: e5aafb545611ee940c9b3fc278bc37ca52f81c01 [file] [log] [blame]
Tim Northovere3d42362013-02-01 11:40:47 +00001; RUN: llc -verify-machineinstrs < %s -mtriple=aarch64-none-linux-gnu | FileCheck %s
Tim Northoverbd668872014-04-15 14:00:29 +00002; RUN: llc -verify-machineinstrs -o - %s -mtriple=arm64-linux-gnu | FileCheck %s
Tim Northovere0e3aef2013-01-31 12:12:40 +00003
4@varf32 = global float 0.0
5@varf64 = global double 0.0
6
7define void @check_float() {
Stephen Lind24ab202013-07-14 06:24:09 +00008; CHECK-LABEL: check_float:
Tim Northovere0e3aef2013-01-31 12:12:40 +00009
10 %val = load float* @varf32
11 %newval1 = fadd float %val, 8.5
12 store volatile float %newval1, float* @varf32
Tim Northover1fdb0762013-10-09 07:53:57 +000013; CHECK-DAG: fmov [[EIGHT5:s[0-9]+]], #8.5
Tim Northovere0e3aef2013-01-31 12:12:40 +000014
15 %newval2 = fadd float %val, 128.0
16 store volatile float %newval2, float* @varf32
Tim Northoverbd668872014-04-15 14:00:29 +000017; CHECK-DAG: ldr [[HARD:s[0-9]+]], [{{x[0-9]+}}, {{#?}}:lo12:.LCPI0_0
Tim Northovere0e3aef2013-01-31 12:12:40 +000018
Tim Northover1fdb0762013-10-09 07:53:57 +000019; CHECK: ret
Tim Northovere0e3aef2013-01-31 12:12:40 +000020 ret void
21}
22
23define void @check_double() {
Stephen Lind24ab202013-07-14 06:24:09 +000024; CHECK-LABEL: check_double:
Tim Northovere0e3aef2013-01-31 12:12:40 +000025
26 %val = load double* @varf64
27 %newval1 = fadd double %val, 8.5
28 store volatile double %newval1, double* @varf64
Tim Northover1fdb0762013-10-09 07:53:57 +000029; CHECK-DAG: fmov {{d[0-9]+}}, #8.5
Tim Northovere0e3aef2013-01-31 12:12:40 +000030
31 %newval2 = fadd double %val, 128.0
32 store volatile double %newval2, double* @varf64
Tim Northoverbd668872014-04-15 14:00:29 +000033; CHECK-DAG: ldr {{d[0-9]+}}, [{{x[0-9]+}}, {{#?}}:lo12:.LCPI1_0
Tim Northovere0e3aef2013-01-31 12:12:40 +000034
Tim Northover1fdb0762013-10-09 07:53:57 +000035; CHECK: ret
Tim Northovere0e3aef2013-01-31 12:12:40 +000036 ret void
37}