summaryrefslogtreecommitdiff
path: root/test/CodeGen/X86/2012-01-18-vbitcast.ll
diff options
context:
space:
mode:
Diffstat (limited to 'test/CodeGen/X86/2012-01-18-vbitcast.ll')
-rw-r--r--test/CodeGen/X86/2012-01-18-vbitcast.ll14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/CodeGen/X86/2012-01-18-vbitcast.ll b/test/CodeGen/X86/2012-01-18-vbitcast.ll
new file mode 100644
index 0000000000..8a3ccc8dfd
--- /dev/null
+++ b/test/CodeGen/X86/2012-01-18-vbitcast.ll
@@ -0,0 +1,14 @@
+; RUN: llc < %s -march=x86-64 -mcpu=corei7 -mtriple=x86_64-pc-win32 | FileCheck %s
+
+;CHECK: vcast
+define <2 x i32> @vcast(<2 x float> %a, <2 x float> %b) {
+;CHECK: pshufd
+;CHECK: pshufd
+ %af = bitcast <2 x float> %a to <2 x i32>
+ %bf = bitcast <2 x float> %b to <2 x i32>
+ %x = sub <2 x i32> %af, %bf
+;CHECK: psubq
+ ret <2 x i32> %x
+;CHECK: ret
+}
+