Skip to content

cv-simd-shufflei* incorrect builtin

Definition:

cv.shuffleI0.sci.b  rD,rs1,Is2   ;; flgs[7:6] = 0

Current implementation:

cv.shuffleI0.sci.b  rD,rs1,Is2   ;; Is2 = 0

Fix required:

  • Print Is2 as a 6-bit unsigned immediate, but match an 8-bit unsigned immediate.
  • Change the predicates to check for 8-bit constant.
  • Change the constraint CF* to check bits [7:6]?
  • Change testcases.
    • cv-xcvsimd-march-compile-1.c
    • cv-simd-shufflei*-sci-b-compile-1.c