> -----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