1 ; RUN: llc -verify-machineinstrs -o - %s -mtriple=aarch64-linux-gnu | FileCheck %s 2 3 @varf32 = global float 0.0 4 @varf64 = global double 0.0 5 6 define void @check_float() { 7 ; CHECK-LABEL: check_float: 8 9 %val = load float* @varf32 10 %newval1 = fadd float %val, 8.5 11 store volatile float %newval1, float* @varf32 12 ; CHECK-DAG: fmov [[EIGHT5:s[0-9]+]], #8.5 13 14 %newval2 = fadd float %val, 128.0 15 store volatile float %newval2, float* @varf32 16 ; CHECK-DAG: ldr [[HARD:s[0-9]+]], [{{x[0-9]+}}, {{#?}}:lo12:.LCPI0_0 17 18 ; CHECK: ret 19 ret void 20 } 21 22 define void @check_double() { 23 ; CHECK-LABEL: check_double: 24 25 %val = load double* @varf64 26 %newval1 = fadd double %val, 8.5 27 store volatile double %newval1, double* @varf64 28 ; CHECK-DAG: fmov {{d[0-9]+}}, #8.5 29 30 %newval2 = fadd double %val, 128.0 31 store volatile double %newval2, double* @varf64 32 ; CHECK-DAG: ldr {{d[0-9]+}}, [{{x[0-9]+}}, {{#?}}:lo12:.LCPI1_0 33 34 ; CHECK: ret 35 ret void 36 } 37