]> Cypherpunks.ru repositories - gostls13.git/blobdiff - src/cmd/asm/internal/asm/testdata/riscv64error.s
cmd/internal/obj/riscv: improve handling of invalid assembly
[gostls13.git] / src / cmd / asm / internal / asm / testdata / riscv64error.s
index 238552565bdd2f6fe1fe1f9769f7020403a6a5a7..2dc9db3fb1f6be9542a7a52c583fe9e18a593501 100644 (file)
@@ -22,5 +22,24 @@ TEXT errors(SB),$0
        MOVBU   X5, (X6)                        // ERROR "unsupported unsigned store"
        MOVHU   X5, (X6)                        // ERROR "unsupported unsigned store"
        MOVWU   X5, (X6)                        // ERROR "unsupported unsigned store"
-
+       MOVF    F0, F1, F2                      // ERROR "illegal MOV instruction"
+       MOVD    F0, F1, F2                      // ERROR "illegal MOV instruction"
+       MOV     X10, X11, X12                   // ERROR "illegal MOV instruction"
+       MOVW    X10, X11, X12                   // ERROR "illegal MOV instruction"
+       SLLI    $64, X5, X6                     // ERROR "shift amount out of range 0 to 63"
+       SRLI    $64, X5, X6                     // ERROR "shift amount out of range 0 to 63"
+       SRAI    $64, X5, X6                     // ERROR "shift amount out of range 0 to 63"
+       SLLI    $-1, X5, X6                     // ERROR "shift amount out of range 0 to 63"
+       SRLI    $-1, X5, X6                     // ERROR "shift amount out of range 0 to 63"
+       SRAI    $-1, X5, X6                     // ERROR "shift amount out of range 0 to 63"
+       SLLIW   $32, X5, X6                     // ERROR "shift amount out of range 0 to 31"
+       SRLIW   $32, X5, X6                     // ERROR "shift amount out of range 0 to 31"
+       SRAIW   $32, X5, X6                     // ERROR "shift amount out of range 0 to 31"
+       SLLIW   $-1, X5, X6                     // ERROR "shift amount out of range 0 to 31"
+       SRLIW   $-1, X5, X6                     // ERROR "shift amount out of range 0 to 31"
+       SRAIW   $-1, X5, X6                     // ERROR "shift amount out of range 0 to 31"
+       SD      X5, 4294967296(X6)              // ERROR "constant 4294967296 too large"
+       SRLI    $1, X5, F1                      // ERROR "expected integer register in rd position but got non-integer register F1"
+       SRLI    $1, F1, X5                      // ERROR "expected integer register in rs1 position but got non-integer register F1"
+       FNES    F1, (X5)                        // ERROR "needs an integer register output"
        RET