1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 2; RUN: llc %s -o - -verify-machineinstrs -fast-isel=true -mattr=-sse | FileCheck %s 3 4target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" 5target triple = "x86_64-unknown-linux-gnu" 6 7define dso_local x86_fp80 @test_f80() { 8; CHECK-LABEL: test_f80: 9; CHECK: # %bb.0: # %entry 10; CHECK-NEXT: fldz 11; CHECK-NEXT: fchs 12; CHECK-NEXT: retq 13entry: 14 %fneg1 = fneg contract x86_fp80 undef 15 br label %exit 16 17exit: ; preds = %entry 18 ret x86_fp80 %fneg1 19} 20 21define dso_local void @test_f32(float *%p) { 22; CHECK-LABEL: test_f32: 23; CHECK: # %bb.0: # %entry 24; CHECK-NEXT: fldz 25; CHECK-NEXT: fchs 26; CHECK-NEXT: fstps (%rdi) 27; CHECK-NEXT: retq 28entry: 29 %fneg1 = fneg contract float undef 30 br label %exit 31 32exit: ; preds = %entry 33 store float %fneg1, float *%p 34 ret void 35} 36 37define dso_local void @test_f64(double *%p) { 38; CHECK-LABEL: test_f64: 39; CHECK: # %bb.0: # %entry 40; CHECK-NEXT: fldz 41; CHECK-NEXT: fchs 42; CHECK-NEXT: fstpl (%rdi) 43; CHECK-NEXT: retq 44entry: 45 %fneg1 = fneg contract double undef 46 br label %exit 47 48exit: ; preds = %entry 49 store double %fneg1, double *%p 50 ret void 51} 52