llvm/test/CodeGen/X86/mmx-bitcast-fold.ll
Teresa Johnson 218731256d Don't fold double constant to an integer if dest type not integral
Summary:
I encountered this issue when constant folding during inlining tried to
fold away a bitcast of a double to an x86_mmx, which is not an integral
type. The test case exposes the same issue with a smaller code snippet
during early CSE.

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D18528

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@265367 91177308-0d34-0410-b5e6-96231b3b80d8
2016-04-04 23:50:46 +00:00

13 lines
275 B
LLVM

; RUN: opt -mtriple=x86_64-- -early-cse < %s -S | FileCheck %s
; CHECK: @foo(x86_mmx bitcast (double 0.000000e+00 to x86_mmx))
define void @bar() {
entry:
%0 = bitcast double 0.0 to x86_mmx
%1 = call x86_mmx @foo(x86_mmx %0)
ret void
}
declare x86_mmx @foo(x86_mmx)