1; RUN: llc -mtriple=arm-eabi -mattr=+vfp2 %s -o - \ 2; RUN: | FileCheck %s -check-prefix=VFP2 3 4; RUN: llc -mtriple=arm-eabi -mattr=+neon %s -o - \ 5; RUN: | FileCheck %s -check-prefix=NFP0 6 7; RUN: llc -mtriple=arm-eabi -mcpu=cortex-a8 %s -o - \ 8; RUN: | FileCheck %s -check-prefix=CORTEXA8 9 10; RUN: llc -mtriple=arm-eabi -mcpu=cortex-a8 --enable-unsafe-fp-math %s -o - \ 11; RUN: | FileCheck %s -check-prefix=CORTEXA8U 12 13; RUN: llc -mtriple=arm-darwin -mcpu=cortex-a8 %s -o - \ 14; RUN: | FileCheck %s -check-prefix=CORTEXA8U 15 16; RUN: llc -mtriple=arm-eabi -mcpu=cortex-a9 %s -o - \ 17; RUN: | FileCheck %s -check-prefix=CORTEXA9 18 19define float @test(float %a, float %b) { 20entry: 21 %0 = fmul float %a, %b 22 ret float %0 23} 24 25; VFP2-LABEL: test: 26; VFP2: vmul.f32 s 27 28; NFP1-LABEL: test: 29; NFP1: vmul.f32 d 30; NFP0-LABEL: test: 31; NFP0: vmul.f32 s 32 33; CORTEXA8-LABEL: test: 34; CORTEXA8: vmul.f32 s 35; CORTEXA8U-LABEL: test: 36; CORTEXA8U: vmul.f32 d 37; CORTEXA9-LABEL: test: 38; CORTEXA9: vmul.f32 s 39 40; VFP2: test2 41define float @test2(float %a) nounwind { 42; CHECK-NOT: mul 43; CHECK: mov pc, lr 44 %ret = fmul float %a, 1.0 45 ret float %ret 46} 47 48