summaryrefslogtreecommitdiffstats
path: root/test/Feature
diff options
context:
space:
mode:
authorReid Spencer <rspencer@reidspencer.com>2006-11-27 01:05:10 +0000
committerReid Spencer <rspencer@reidspencer.com>2006-11-27 01:05:10 +0000
commit3da59db637a887474c1b1346c1f3ccf53b6c4663 (patch)
treeb061e2133efdb9ea9bb334c1b15ceea881bb88f8 /test/Feature
parent5fed9b90447a9a95a1f670ccd9c23aea8c937451 (diff)
downloadexternal_llvm-3da59db637a887474c1b1346c1f3ccf53b6c4663.zip
external_llvm-3da59db637a887474c1b1346c1f3ccf53b6c4663.tar.gz
external_llvm-3da59db637a887474c1b1346c1f3ccf53b6c4663.tar.bz2
For PR950:
The long awaited CAST patch. This introduces 12 new instructions into LLVM to replace the cast instruction. Corresponding changes throughout LLVM are provided. This passes llvm-test, llvm/test, and SPEC CPUINT2000 with the exception of 175.vpr which fails only on a slight floating point output difference. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31931 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Feature')
-rw-r--r--test/Feature/casttest.ll16
1 files changed, 15 insertions, 1 deletions
diff --git a/test/Feature/casttest.ll b/test/Feature/casttest.ll
index acd47e5..e7d8756 100644
--- a/test/Feature/casttest.ll
+++ b/test/Feature/casttest.ll
@@ -2,7 +2,21 @@
; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll
; RUN: diff %t1.ll %t2.ll
-implementation
+void "NewCasts" (short %x) {
+ %a = zext short %x to int
+ %b = sext short %x to uint
+ %c = trunc short %x to ubyte
+ %d = uitofp short %x to float
+ %e = sitofp short %x to double
+ %f = fptoui float %d to short
+ %g = fptosi double %e to short
+ %i = fpext float %d to double
+ %j = fptrunc double %i to float
+ %k = bitcast int %a to float
+ %l = inttoptr short %x to int*
+ %m = ptrtoint int* %l to long
+ ret void
+}
short "FunFunc"(long %x, sbyte %z)
begin