Brian Cain 9105d9c249
[lld][Hexagon] Fix findMaskR8 missing duplex support (#183936)
findMaskR8() lacked an isDuplex() check, unlike findMaskR6(),
findMaskR11(), and findMaskR16() which all handle duplex instructions.

When the assembler generates R_HEX_8_X on a duplex SA1_addi instruction
(e.g. `{ r0 = add(r0, ##target); memw(r1+#0) = r2 }`), the wrong mask
0x00001fe0 placed relocation bits at [12:5] instead of [25:20],
corrupting the low sub-instruction (e.g. memw became memb).

Add the isDuplex() check returning 0x03f00000, and add a comprehensive
test covering all duplex instruction x relocation type combinations
across findMaskR6, findMaskR8, findMaskR11, and findMaskR16.
2026-03-04 11:11:09 -06:00
..
2025-05-25 21:09:55 -07:00
2024-08-30 10:50:56 -04:00
2023-08-21 09:11:51 -07:00
2024-01-22 09:09:46 -08:00
2024-07-28 12:38:10 -07:00
2024-06-14 23:20:50 -07:00
2023-07-25 17:06:07 +08:00
2023-07-25 17:06:07 +08:00
2024-11-23 12:46:35 -08:00
2025-09-04 01:38:46 +00:00
2023-07-18 17:57:31 -07:00
2024-11-29 13:00:36 -08:00
2024-07-31 12:57:23 -07:00