; RUN: opt -passes=instcombine -S < %s | FileCheck %s | |
; This shouldn't fold, because sin(inf) is invalid. | |
; CHECK-LABEL: @foo( | |
; CHECK: %t = call double @sin(double 0x7FF0000000000000) | |
define double @foo() { | |
%t = call double @sin(double 0x7FF0000000000000) | |
ret double %t | |
} | |
; This should fold. | |
; CHECK-LABEL: @bar( | |
; CHECK: ret double 0.0 | |
define double @bar() { | |
%t = call double @sin(double 0.0) | |
ret double %t | |
} | |
declare double @sin(double) |