> -----Original Message-----
> From: Alessandro Di Federico <[email protected]>
> Sent: Tuesday, March 30, 2021 9:38 AM
> To: [email protected]
> Cc: Taylor Simpson <[email protected]>; Brian Cain
> <[email protected]>; [email protected]; [email protected]; [email protected];
> [email protected]; Alessandro Di Federico <[email protected]>
> Subject: [PATCH v3 09/12] target/hexagon: import lexer for idef-parser
> 

> +"fLSBNEW(P"{LOWER_PRE}"N)" { yylval->rvalue.type = PREDICATE;
> +                           yylval->rvalue.pre.id = yytext[9];
> +                           yylval->rvalue.bit_width = 32;
> +                           yylval->rvalue.is_dotnew = true;
> +                           return PRE; }
> +"fLSBNEW0"               { yylval->rvalue.type = PREDICATE;
> +                           yylval->rvalue.pre.id = '0';
> +                           yylval->rvalue.bit_width = 32;
> +                           yylval->rvalue.is_dotnew = true;
> +                           return PRE; }
> +"fLSBNEW1"               { yylval->rvalue.type = PREDICATE;
> +                           yylval->rvalue.pre.id = '1';
> +                           yylval->rvalue.bit_width = 32;
> +                           yylval->rvalue.is_dotnew = true;
> +                           return PRE; }
> +"fLSBNEW1NOT"            { yylval->rvalue.type = PREDICATE;
> +                           yylval->rvalue.pre.id = '1';
> +                           yylval->rvalue.bit_width = 32;
> +                           yylval->rvalue.is_dotnew = true;
> +                           return PRE; }

These represent the least significant bit of the operand.  Perhaps you should 
set the bit_width to 1?  Or do tcg_gen_andi_tl(..., 1)?

Thanks,
Taylor


Reply via email to