[PATCH] D122212: [RISCV] Add zbkb feature for zext.h Instruction
LiqinWeng via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Apr 1 23:36:07 PDT 2022
Miss_Grape added a comment.
In D122212#3419632 <https://reviews.llvm.org/D122212#3419632>, @craig.topper wrote:
> In D122212#3418598 <https://reviews.llvm.org/D122212#3418598>, @Miss_Grape wrote:
>
>> In D122212#3399915 <https://reviews.llvm.org/D122212#3399915>, @craig.topper wrote:
>>
>>> The correct fix is to change the predicate here to include Zbkb
>>>
>>> let Predicates = [HasStdExtZbbOrZbp, IsRV32] in {
>>> def ZEXT_H_RV32 : RVBUnary<0b0000100, 0b00000, 0b100, OPC_OP, "zext.h">,
>>> Sched<[WriteIALU, ReadIALU]>;
>>> } // Predicates = [HasStdExtZbbOrZbp, IsRV32]
>>>
>>> let Predicates = [HasStdExtZbbOrZbp, IsRV64] in {
>>> def ZEXT_H_RV64 : RVBUnary<0b0000100, 0b00000, 0b100, OPC_OP_32, "zext.h">,
>>> Sched<[WriteIALU, ReadIALU]>;
>>> } // Predicates = [HasStdExtZbbOrZbp, IsRV64]
>>
>> Can you send me the Bitmap manual you read, I read the riscv-crypto-spec-scalar-v1.0.1.pdf , and zext.h does not belong to zbkb
>> zbkb Instruction:
>> F22605625: image.png <https://reviews.llvm.org/F22605625>
>
> The zext.h encoding is a subset of the pack encodings. We need to have consistent behavior in when we use the two instruction representations. Otherwise disassembling with Zbb and Zbkb both enabled becomes ambiguous.
Fixed
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D122212/new/
https://reviews.llvm.org/D122212
More information about the llvm-commits
mailing list