================ @@ -0,0 +1,34 @@ +# RUN: not llvm-mc -triple=riscv32 --mattr=+experimental-zilx %s 2>&1 \ +# RUN: | FileCheck %s --check-prefixes=CHECK-ERROR,CHECK-RV32-ERROR +# RUN: not llvm-mc -triple=riscv64 --mattr=+experimental-zilx %s 2>&1 \ +# RUN: | FileCheck %s --check-prefix=CHECK-ERROR + +# Zilx loads take three registers; the memory-operand syntax is not accepted. ---------------- arichardson wrote:
> Ok, I'm actually dropping my aversion to `<reg>(<reg>)`, for the unscaled > version because we need to be clear about which is the base (a pointer) and > which is the offset (an integer) for RVY. > > I still think it's weird for the scaled version, because the integer gets > multiplied by something. One other option could be to just have something like `lw a0, a1(a2)` expand to the zilx load and for scaled maybe it would need to be something like `4*<reg>(<reg>)` (although that could be awkward to parse). I guess it's probably best to defer that until pre/post-increment has been defined, and just use the `(reg), reg` syntax. https://github.com/llvm/llvm-project/pull/209419 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
