From fb8b893b109cedcc336ab687012ad70066afffd2 Mon Sep 17 00:00:00 2001 From: Matt Pharr Date: Mon, 9 Jul 2012 07:09:25 -0700 Subject: [PATCH] Fix incorrect LLVM_3_1svn tests. 1. For some time now, we provide the version without the 'svn' 2. We should be testing "not LLVM 3.0" in these cases, since they apply to LLVM 3.2 and beyond as well... --- buildispc.bat | 2 +- builtins/util.m4 | 168 +++++++++++++++++++++++------------------------ 2 files changed, 85 insertions(+), 85 deletions(-) diff --git a/buildispc.bat b/buildispc.bat index 99a8b097..c06efdc2 100644 --- a/buildispc.bat +++ b/buildispc.bat @@ -3,7 +3,7 @@ REM If LLVM_INSTALL_DIR isn't set globally in your environment, REM it can be set here_ set LLVM_INSTALL_DIR=c:\users\mmp\llvm-dev -set LLVM_VERSION=3.1svn +set LLVM_VERSION=3.2 REM Both the LLVM binaries and python need to be in the path set path=%LLVM_INSTALL_DIR%\bin;%PATH%;c:\cygwin\bin diff --git a/builtins/util.m4 b/builtins/util.m4 index cab53e0d..ce25a761 100644 --- a/builtins/util.m4 +++ b/builtins/util.m4 @@ -2704,22 +2704,22 @@ define(`masked_store_blend_8_16_by_4', ` define void @__masked_store_blend_i8(<4 x i8>* nocapture, <4 x i8>, <4 x i32>) nounwind alwaysinline { %old = load <4 x i8> * %0, align 1 - ifelse(LLVM_VERSION,LLVM_3_1svn,` + ifelse(LLVM_VERSION,LLVM_3_0,` + %old32 = bitcast <4 x i8> %old to i32 + %new32 = bitcast <4 x i8> %1 to i32 + + %mask8 = trunc <4 x i32> %2 to <4 x i8> + %mask32 = bitcast <4 x i8> %mask8 to i32 + %notmask32 = xor i32 %mask32, -1 + + %newmasked = and i32 %new32, %mask32 + %oldmasked = and i32 %old32, %notmask32 + %result = or i32 %newmasked, %oldmasked + + %resultvec = bitcast i32 %result to <4 x i8> + ',` %m = trunc <4 x i32> %2 to <4 x i1> %resultvec = select <4 x i1> %m, <4 x i8> %1, <4 x i8> %old - ',` - %old32 = bitcast <4 x i8> %old to i32 - %new32 = bitcast <4 x i8> %1 to i32 - - %mask8 = trunc <4 x i32> %2 to <4 x i8> - %mask32 = bitcast <4 x i8> %mask8 to i32 - %notmask32 = xor i32 %mask32, -1 - - %newmasked = and i32 %new32, %mask32 - %oldmasked = and i32 %old32, %notmask32 - %result = or i32 %newmasked, %oldmasked - - %resultvec = bitcast i32 %result to <4 x i8> ') store <4 x i8> %resultvec, <4 x i8> * %0, align 1 ret void @@ -2728,22 +2728,22 @@ define void @__masked_store_blend_i8(<4 x i8>* nocapture, <4 x i8>, define void @__masked_store_blend_i16(<4 x i16>* nocapture, <4 x i16>, <4 x i32>) nounwind alwaysinline { %old = load <4 x i16> * %0, align 2 - ifelse(LLVM_VERSION,LLVM_3_1svn,` + ifelse(LLVM_VERSION,LLVM_3_0,` + %old64 = bitcast <4 x i16> %old to i64 + %new64 = bitcast <4 x i16> %1 to i64 + + %mask16 = trunc <4 x i32> %2 to <4 x i16> + %mask64 = bitcast <4 x i16> %mask16 to i64 + %notmask64 = xor i64 %mask64, -1 + + %newmasked = and i64 %new64, %mask64 + %oldmasked = and i64 %old64, %notmask64 + %result = or i64 %newmasked, %oldmasked + + %resultvec = bitcast i64 %result to <4 x i16> + ',` %m = trunc <4 x i32> %2 to <4 x i1> %resultvec = select <4 x i1> %m, <4 x i16> %1, <4 x i16> %old - ',` - %old64 = bitcast <4 x i16> %old to i64 - %new64 = bitcast <4 x i16> %1 to i64 - - %mask16 = trunc <4 x i32> %2 to <4 x i16> - %mask64 = bitcast <4 x i16> %mask16 to i64 - %notmask64 = xor i64 %mask64, -1 - - %newmasked = and i64 %new64, %mask64 - %oldmasked = and i64 %old64, %notmask64 - %result = or i64 %newmasked, %oldmasked - - %resultvec = bitcast i64 %result to <4 x i16> ') store <4 x i16> %resultvec, <4 x i16> * %0, align 2 ret void @@ -2754,22 +2754,22 @@ define(`masked_store_blend_8_16_by_8', ` define void @__masked_store_blend_i8(<8 x i8>* nocapture, <8 x i8>, <8 x i32>) nounwind alwaysinline { %old = load <8 x i8> * %0, align 1 - ifelse(LLVM_VERSION,LLVM_3_1svn,` + ifelse(LLVM_VERSION,LLVM_3_0,` + %old64 = bitcast <8 x i8> %old to i64 + %new64 = bitcast <8 x i8> %1 to i64 + + %mask8 = trunc <8 x i32> %2 to <8 x i8> + %mask64 = bitcast <8 x i8> %mask8 to i64 + %notmask64 = xor i64 %mask64, -1 + + %newmasked = and i64 %new64, %mask64 + %oldmasked = and i64 %old64, %notmask64 + %result = or i64 %newmasked, %oldmasked + + %resultvec = bitcast i64 %result to <8 x i8> + ',` %m = trunc <8 x i32> %2 to <8 x i1> %resultvec = select <8 x i1> %m, <8 x i8> %1, <8 x i8> %old - ',` - %old64 = bitcast <8 x i8> %old to i64 - %new64 = bitcast <8 x i8> %1 to i64 - - %mask8 = trunc <8 x i32> %2 to <8 x i8> - %mask64 = bitcast <8 x i8> %mask8 to i64 - %notmask64 = xor i64 %mask64, -1 - - %newmasked = and i64 %new64, %mask64 - %oldmasked = and i64 %old64, %notmask64 - %result = or i64 %newmasked, %oldmasked - - %resultvec = bitcast i64 %result to <8 x i8> ') store <8 x i8> %resultvec, <8 x i8> * %0, align 1 ret void @@ -2778,22 +2778,22 @@ define void @__masked_store_blend_i8(<8 x i8>* nocapture, <8 x i8>, define void @__masked_store_blend_i16(<8 x i16>* nocapture, <8 x i16>, <8 x i32>) nounwind alwaysinline { %old = load <8 x i16> * %0, align 2 - ifelse(LLVM_VERSION,LLVM_3_1svn,` + ifelse(LLVM_VERSION,LLVM_3_0,` + %old128 = bitcast <8 x i16> %old to i128 + %new128 = bitcast <8 x i16> %1 to i128 + + %mask16 = trunc <8 x i32> %2 to <8 x i16> + %mask128 = bitcast <8 x i16> %mask16 to i128 + %notmask128 = xor i128 %mask128, -1 + + %newmasked = and i128 %new128, %mask128 + %oldmasked = and i128 %old128, %notmask128 + %result = or i128 %newmasked, %oldmasked + + %resultvec = bitcast i128 %result to <8 x i16> + ',` %m = trunc <8 x i32> %2 to <8 x i1> %resultvec = select <8 x i1> %m, <8 x i16> %1, <8 x i16> %old - ',` - %old128 = bitcast <8 x i16> %old to i128 - %new128 = bitcast <8 x i16> %1 to i128 - - %mask16 = trunc <8 x i32> %2 to <8 x i16> - %mask128 = bitcast <8 x i16> %mask16 to i128 - %notmask128 = xor i128 %mask128, -1 - - %newmasked = and i128 %new128, %mask128 - %oldmasked = and i128 %old128, %notmask128 - %result = or i128 %newmasked, %oldmasked - - %resultvec = bitcast i128 %result to <8 x i16> ') store <8 x i16> %resultvec, <8 x i16> * %0, align 2 ret void @@ -2805,22 +2805,22 @@ define(`masked_store_blend_8_16_by_16', ` define void @__masked_store_blend_i8(<16 x i8>* nocapture, <16 x i8>, <16 x i32>) nounwind alwaysinline { %old = load <16 x i8> * %0, align 1 - ifelse(LLVM_VERSION,LLVM_3_1svn,` + ifelse(LLVM_VERSION,LLVM_3_0,` + %old128 = bitcast <16 x i8> %old to i128 + %new128 = bitcast <16 x i8> %1 to i128 + + %mask8 = trunc <16 x i32> %2 to <16 x i8> + %mask128 = bitcast <16 x i8> %mask8 to i128 + %notmask128 = xor i128 %mask128, -1 + + %newmasked = and i128 %new128, %mask128 + %oldmasked = and i128 %old128, %notmask128 + %result = or i128 %newmasked, %oldmasked + + %resultvec = bitcast i128 %result to <16 x i8> + ',` %m = trunc <16 x i32> %2 to <16 x i1> %resultvec = select <16 x i1> %m, <16 x i8> %1, <16 x i8> %old - ',` - %old128 = bitcast <16 x i8> %old to i128 - %new128 = bitcast <16 x i8> %1 to i128 - - %mask8 = trunc <16 x i32> %2 to <16 x i8> - %mask128 = bitcast <16 x i8> %mask8 to i128 - %notmask128 = xor i128 %mask128, -1 - - %newmasked = and i128 %new128, %mask128 - %oldmasked = and i128 %old128, %notmask128 - %result = or i128 %newmasked, %oldmasked - - %resultvec = bitcast i128 %result to <16 x i8> ') store <16 x i8> %resultvec, <16 x i8> * %0, align 1 ret void @@ -2829,22 +2829,22 @@ define void @__masked_store_blend_i8(<16 x i8>* nocapture, <16 x i8>, define void @__masked_store_blend_i16(<16 x i16>* nocapture, <16 x i16>, <16 x i32>) nounwind alwaysinline { %old = load <16 x i16> * %0, align 2 - ifelse(LLVM_VERSION,LLVM_3_1svn,` + ifelse(LLVM_VERSION,LLVM_3_0,` + %old256 = bitcast <16 x i16> %old to i256 + %new256 = bitcast <16 x i16> %1 to i256 + + %mask16 = trunc <16 x i32> %2 to <16 x i16> + %mask256 = bitcast <16 x i16> %mask16 to i256 + %notmask256 = xor i256 %mask256, -1 + + %newmasked = and i256 %new256, %mask256 + %oldmasked = and i256 %old256, %notmask256 + %result = or i256 %newmasked, %oldmasked + + %resultvec = bitcast i256 %result to <16 x i16> + ',` %m = trunc <16 x i32> %2 to <16 x i1> %resultvec = select <16 x i1> %m, <16 x i16> %1, <16 x i16> %old - ',` - %old256 = bitcast <16 x i16> %old to i256 - %new256 = bitcast <16 x i16> %1 to i256 - - %mask16 = trunc <16 x i32> %2 to <16 x i16> - %mask256 = bitcast <16 x i16> %mask16 to i256 - %notmask256 = xor i256 %mask256, -1 - - %newmasked = and i256 %new256, %mask256 - %oldmasked = and i256 %old256, %notmask256 - %result = or i256 %newmasked, %oldmasked - - %resultvec = bitcast i256 %result to <16 x i16> ') store <16 x i16> %resultvec, <16 x i16> * %0, align 2 ret void