Instcombine shouldn't fold these casts.

llvm-svn: 32243
This commit is contained in:
Chris Lattner 2006-12-05 23:43:20 +00:00
parent 2764219e3e
commit 83830075f6
1 changed files with 13 additions and 0 deletions

View File

@ -0,0 +1,13 @@
; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep zext
; Never merge these two conversions, even though it's possible: this is
; significantly more expensive than the two conversions on some targets
; and it causes libgcc to be compile __fixunsdfdi into a recursive
; function.
long %test(double %D) {
%A = fptoui double %D to uint
%B = zext uint %A to long
ret long %B
}