[Beignet] [PATCH] GBE/IMM: Temporarily allow integer type in getFloatValue()

Ruiling Song ruiling.song at intel.com
Wed Jul 15 01:46:41 PDT 2015


The second argument of simd_shuffle is integer, which is not the
same as the instruction type. but when we are dealing with
BinaryInstruction in instruction selection, we would call
getFloatValue() to do some imm optimization. We should
implement a separate pattern for simd shuffle. after that,
I will revert this patch.

Signed-off-by: Ruiling Song <ruiling.song at intel.com>
---
 backend/src/ir/immediate.hpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/backend/src/ir/immediate.hpp b/backend/src/ir/immediate.hpp
index a25895a..3141643 100644
--- a/backend/src/ir/immediate.hpp
+++ b/backend/src/ir/immediate.hpp
@@ -209,7 +209,7 @@ namespace ir {
 
     INLINE float getFloatValue(void) const {
       // we allow bitcast from u32/s32 immediate to float
-      GBE_ASSERT(type == IMM_TYPE_FLOAT);
+      GBE_ASSERT(type == IMM_TYPE_FLOAT || type == IMM_TYPE_U32 || type == IMM_TYPE_S32);
       return *data.f32;
     }
 
-- 
2.3.1



More information about the Beignet mailing list