@@ -93,6 +93,10 @@ def FixedSizeIntegralTypeClass : TypeClass {
9393 Uint32, Sint64, Uint64, Bool];
9494}
9595
96+ def FixedSizeIntegralNoBoolTypeClass : TypeClass {
97+ let Types = [Sint8, Uint8, Sint16, Uint16, Sint32, Uint32, Sint64, Uint64];
98+ }
99+
96100def NumberTypeClass : TypeClass {
97101 let Types = !listconcat(IntegerTypeClass.Types, [Float]);
98102}
@@ -650,10 +654,6 @@ def CastFixedPoint : Opcode {
650654 let Args = [ArgUint32];
651655}
652656
653- def FixedSizeIntegralTypes : TypeClass {
654- let Types = [Uint8, Sint8, Uint16, Sint16, Uint32, Sint32, Uint64, Sint64, Bool];
655- }
656-
657657def CastAP : Opcode {
658658 let Types = [AluTypeClass];
659659 let Args = [ArgUint32];
@@ -675,7 +675,7 @@ def CastIntegralFloating : Opcode {
675675
676676// Cast a floating to an integer type
677677def CastFloatingIntegral : Opcode {
678- let Types = [FixedSizeIntegralTypes ];
678+ let Types = [FixedSizeIntegralTypeClass ];
679679 let Args = [ArgUint32];
680680 let HasGroup = 1 ;
681681}
@@ -699,7 +699,7 @@ def CastPointerIntegralAPS : Opcode {
699699 let Args = [ArgUint32];
700700}
701701def CastIntegralFixedPoint : Opcode {
702- let Types = [FixedSizeIntegralTypes ];
702+ let Types = [FixedSizeIntegralTypeClass ];
703703 let Args = [ArgUint32];
704704 let HasGroup = 1 ;
705705}
@@ -710,7 +710,7 @@ def CastFixedPointFloating : Opcode {
710710 let Args = [ArgFltSemantics];
711711}
712712def CastFixedPointIntegral : Opcode {
713- let Types = [FixedSizeIntegralTypes ];
713+ let Types = [FixedSizeIntegralNoBoolTypeClass ];
714714 let HasGroup = 1 ;
715715}
716716def ShiftFixedPoint : Opcode {
0 commit comments