hsail: Fix a warning/build failure for HSAIL_X86.
authorGabe Black <gabeblack@google.com>
Tue, 27 Nov 2018 03:12:52 +0000 (19:12 -0800)
committerGabe Black <gabeblack@google.com>
Tue, 27 Nov 2018 22:02:50 +0000 (22:02 +0000)
The Bitselect operation definition used ~ to invert the bits of a mask
value, but if that mask value is of type bool, that generates a
warning. This change casts that value to a uint64_t so that it can
always have ~ applied to it.

Change-Id: I7fbfc6ff264bc32a265f2724c772b8fae08590f7
Reviewed-on: https://gem5-review.googlesource.com/c/14655
Reviewed-by: Brandon Potter <Brandon.Potter@amd.com>
Maintainer: Gabe Black <gabeblack@google.com>

src/arch/hsail/gen.py

index bb60121121bb041b87d9509a121f47bfa618514c..23ce02e87c9471b1fdb92506d17eda7e78fba48f 100755 (executable)
@@ -703,7 +703,7 @@ gen('And', bit_types, 'src0 & src1')
 gen('Or', bit_types,  'src0 | src1')
 gen('Xor', bit_types, 'src0 ^ src1')
 
-gen('Bitselect', bit_types, '(src1 & src0) | (src2 & ~src0)')
+gen('Bitselect', bit_types, '(src1 & src0) | (src2 & ~(uint64_t)src0)')
 gen('Popcount', ('U32',), '__builtin_popcount(src0)', 'PopcountInst', \
     ('sourceType', ('B32', 'B64')))