mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-29 10:32:47 +00:00
36 lines
766 B
LLVM
36 lines
766 B
LLVM
|
; RUN: llc < %s -mcpu=corei7 -march=x86-64 -mattr=+sse2 | FileCheck %s
|
||
|
; Verify that floating-point operations inside 'optnone' functions
|
||
|
; are not optimized even if unsafe-fp-math is set.
|
||
|
|
||
|
define float @foo(float %x) #0 {
|
||
|
entry:
|
||
|
%add = fadd fast float %x, %x
|
||
|
%add1 = fadd fast float %add, %x
|
||
|
ret float %add1
|
||
|
}
|
||
|
|
||
|
; CHECK-LABEL: @foo
|
||
|
; CHECK-NOT: add
|
||
|
; CHECK: mul
|
||
|
; CHECK-NOT: add
|
||
|
; CHECK: ret
|
||
|
|
||
|
define float @fooWithOptnone(float %x) #1 {
|
||
|
entry:
|
||
|
%add = fadd fast float %x, %x
|
||
|
%add1 = fadd fast float %add, %x
|
||
|
ret float %add1
|
||
|
}
|
||
|
|
||
|
; CHECK-LABEL: @fooWithOptnone
|
||
|
; CHECK-NOT: mul
|
||
|
; CHECK: add
|
||
|
; CHECK-NOT: mul
|
||
|
; CHECK: add
|
||
|
; CHECK-NOT: mul
|
||
|
; CHECK: ret
|
||
|
|
||
|
|
||
|
attributes #0 = { "unsafe-fp-math"="true" }
|
||
|
attributes #1 = { noinline optnone "unsafe-fp-math"="true" }
|