target/hexagon: Define f{S,G}ET_FIELD macros
Reviewed-by: Taylor Simpson <ltaylorsimpson@gmail.com> Signed-off-by: Brian Cain <brian.cain@oss.qualcomm.com>
Brian Cain committed
Jun 22, 2026 at 15:28 UTC
ddf988492c4743db8c698e247f3181a4505ea468
1 file changed
+10
target/hexagon/macros.h
+10
@@ -653,6 +653,16 @@ static inline TCGv gen_read_ireg(TCGv result, TCGv val, int shift)
653
reg_field_info[FIELD].width, \
654
reg_field_info[FIELD].offset)
655
656
+#define fGET_FIELD(VAL, FIELD) \
657
+ fEXTRACTU_BITS(VAL, \
658
+ reg_field_info[FIELD].width, \
659
+ reg_field_info[FIELD].offset)
660
+#define fSET_FIELD(VAL, FIELD, NEWVAL) \
661
+ fINSERT_BITS(VAL, \
662
+ reg_field_info[FIELD].width, \
663
+ reg_field_info[FIELD].offset, \
664
+ (NEWVAL))
665
+
666
#ifdef QEMU_GENERATE
667
#define fDCZEROA(REG) \
668
do { \