From: Juergen Ributzka Date: Tue, 19 Aug 2014 20:35:07 +0000 (+0000) Subject: [FastISel][AArch64] Extend floating-point materialization test. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=1d58f989d4034d4e9d007033c260e40486f7bdec;p=oota-llvm.git [FastISel][AArch64] Extend floating-point materialization test. This adds the missing test that I promised for r215753 to test the materialization of the floating-point value +0.0. Related to . git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216019 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/CodeGen/AArch64/arm64-fast-isel-materialize.ll b/test/CodeGen/AArch64/arm64-fast-isel-materialize.ll index ffac131f0ca..14dc0dd93b9 100644 --- a/test/CodeGen/AArch64/arm64-fast-isel-materialize.ll +++ b/test/CodeGen/AArch64/arm64-fast-isel-materialize.ll @@ -1,27 +1,41 @@ -; RUN: llc < %s -O0 -fast-isel-abort -mtriple=arm64-apple-darwin | FileCheck %s +; RUN: llc -O0 -fast-isel-abort -mtriple=arm64-apple-darwin < %s | FileCheck %s ; Materialize using fmov -define void @float_(float* %value) { -; CHECK: @float_ -; CHECK: fmov s0, #1.25000000 - store float 1.250000e+00, float* %value, align 4 - ret void +define float @fmov_float1() { +; CHECK-LABEL: fmov_float1 +; CHECK: fmov s0, #1.25000000 + ret float 1.250000e+00 } -define void @double_(double* %value) { -; CHECK: @double_ -; CHECK: fmov d0, #1.25000000 - store double 1.250000e+00, double* %value, align 8 - ret void +define float @fmov_float2() { +; CHECK-LABEL: fmov_float2 +; CHECK: fmov s0, wzr + ret float 0.0e+00 +} + +define double @fmov_double1() { +; CHECK-LABEL: fmov_double1 +; CHECK: fmov d0, #1.25000000 + ret double 1.250000e+00 +} + +define double @fmov_double2() { +; CHECK-LABEL: fmov_double2 +; CHECK: fmov d0, xzr + ret double 0.0e+00 } ; Materialize from constant pool -define float @float_cp() { -; CHECK: @float_cp +define float @cp_float() { +; CHECK-LABEL: cp_float +; CHECK: adrp [[REG:x[0-9]+]], {{lCPI[0-9]+_0}}@PAGE +; CHECK-NEXT: ldr s0, {{\[}}[[REG]], {{lCPI[0-9]+_0}}@PAGEOFF{{\]}} ret float 0x400921FB60000000 } -define double @double_cp() { -; CHECK: @double_cp +define double @cp_double() { +; CHECK-LABEL: cp_double +; CHECK: adrp [[REG:x[0-9]+]], {{lCPI[0-9]+_0}}@PAGE +; CHECK-NEXT: ldr d0, {{\[}}[[REG]], {{lCPI[0-9]+_0}}@PAGEOFF{{\]}} ret double 0x400921FB54442D18 }