[PATCH RESEND v2] Aarch64: Allow explicit size specifier for predicate operand of {sq, uq, }{incp, decp}
Richard Sandiford
richard.sandiford@arm.com
Mon Oct 10 10:25:04 GMT 2022
More information about the Binutils mailing list
Mon Oct 10 10:25:04 GMT 2022
- Previous message (by thread): [PATCH RESEND v2] Aarch64: Allow explicit size specifier for predicate operand of {sq, uq, }{incp, decp}
- Next message (by thread): [PATCH RESEND v2] Aarch64: Allow explicit size specifier for predicate operand of {sq, uq, }{incp, decp}
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
"dongbo (E)" <dongbo4@huawei.com> writes: > Hi, Richard. > > On 2022/9/30 22:54, Richard Sandiford wrote: >> "dongbo (E)" <dongbo4@huawei.com> writes: >>> >>> We tried to put `S_H` in front of `NIL`: >>> >>> ``` >>> >>> #define OP_SVE_Vv_HSD \ >>> { \ >>> QLF2(S_H,S_H), \ >>> QLF2(S_S,S_S), \ >>> QLF2(S_D,S_D), \ >>> QLF2(S_H,NIL), \ >>> QLF2(S_S,NIL), \ >>> QLF2(S_D,NIL), \ >>> } >>> >>> ``` >> Yeah, good point. It should be in this order, like you say. >> >> The fixes you mention look correct to me. >> >>> But assembler will fail in `match_operands_qualifier` :(. >>> >>> ``` >>> >>> match_operands_qualifier (aarch64_inst *inst, bool update_p) >>> { >>> ... >>> if (!aarch64_find_best_match (...)) >>> ... >>> if (inst->opcode->flags & F_STRICT) >>> { >>> /* Require an exact qualifier match, even for NIL >>> qualifiers. */ >>> nops = aarch64_num_of_operands (inst->opcode); >>> for (i = 0; i < nops; ++i) >>> if (inst->operands[i].qualifier != qualifiers[i]) >>> return false; >>> } >>> } >>> >>> ``` >> I think that's a misfeature of the F_STRICT handling. Does it work >> with the patch below? > > We cannot find the `tree-data-ref.cc` in binutils, it is a file in GCC? > > Is `0001-data-ref-Fix-ranges_maybe_overlap_p-test.patch` the patch you > meant to send? Gah, no, sorry. > We also found a way to fix the F_STRICT matching failure. See patch > below. :) > > The main point is to give another `find_best_match` try when we get a > qualifier mismatch for HSD operands. I think it's simpler than that. Here's the patch I meant to send (which is more -s than +s). Richard -------------- next part -------------- A non-text attachment was scrubbed... Name: 0001-aarch64-Tweak-handling-of-F_STRICT.patch Type: text/x-diff Size: 2706 bytes Desc: not available URL: <https://sourceware.org/pipermail/binutils/attachments/20221010/8875df09/attachment.bin>
- Previous message (by thread): [PATCH RESEND v2] Aarch64: Allow explicit size specifier for predicate operand of {sq, uq, }{incp, decp}
- Next message (by thread): [PATCH RESEND v2] Aarch64: Allow explicit size specifier for predicate operand of {sq, uq, }{incp, decp}
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Binutils mailing list