From: Tilmann Scheller Date: Tue, 15 Jul 2014 16:33:24 +0000 (+0000) Subject: [AArch64] Add negative tests for the SIMD & FP LDP instructions. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=2dade438d76e084bdc3ad23bc8d84c93edec82fe;p=oota-llvm.git [AArch64] Add negative tests for the SIMD & FP LDP instructions. LDP is unpredictable if the registers in the pair are identical, these tests check that we don't assemble instructions like that and error out instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@213074 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/MC/AArch64/arm64-diags.s b/test/MC/AArch64/arm64-diags.s index cf00e9826e1..f8138bde3a4 100644 --- a/test/MC/AArch64/arm64-diags.s +++ b/test/MC/AArch64/arm64-diags.s @@ -159,6 +159,15 @@ ldr q1, [x3, w3, sxtw #1] ldp w1, w2, [x2], #16 ldp w2, w2, [x2], #16 ldp x1, x1, [x2] + ldp s1, s1, [x1], #8 + ldp s1, s1, [x1, #8]! + ldp s1, s1, [x1, #8] + ldp d1, d1, [x1], #16 + ldp d1, d1, [x1, #16]! + ldp d1, d1, [x1, #16] + ldp q1, q1, [x1], #32 + ldp q1, q1, [x1, #32]! + ldp q1, q1, [x1, #32] ldr x2, [x2], #8 ldr x2, [x2, #8]! @@ -185,6 +194,33 @@ ldr q1, [x3, w3, sxtw #1] ; CHECK-ERRORS: error: unpredictable LDP instruction, Rt2==Rt ; CHECK-ERRORS: ldp x1, x1, [x2] ; CHECK-ERRORS: ^ +; CHECK-ERRORS: error: unpredictable LDP instruction, Rt2==Rt +; CHECK-ERRORS: ldp s1, s1, [x1], #8 +; CHECK-ERRORS: ^ +; CHECK-ERRORS: error: unpredictable LDP instruction, Rt2==Rt +; CHECK-ERRORS: ldp s1, s1, [x1, #8]! +; CHECK-ERRORS: ^ +; CHECK-ERRORS: error: unpredictable LDP instruction, Rt2==Rt +; CHECK-ERRORS: ldp s1, s1, [x1, #8] +; CHECK-ERRORS: ^ +; CHECK-ERRORS: error: unpredictable LDP instruction, Rt2==Rt +; CHECK-ERRORS: ldp d1, d1, [x1], #16 +; CHECK-ERRORS: ^ +; CHECK-ERRORS: error: unpredictable LDP instruction, Rt2==Rt +; CHECK-ERRORS: ldp d1, d1, [x1, #16]! +; CHECK-ERRORS: ^ +; CHECK-ERRORS: error: unpredictable LDP instruction, Rt2==Rt +; CHECK-ERRORS: ldp d1, d1, [x1, #16] +; CHECK-ERRORS: ^ +; CHECK-ERRORS: error: unpredictable LDP instruction, Rt2==Rt +; CHECK-ERRORS: ldp q1, q1, [x1], #32 +; CHECK-ERRORS: ^ +; CHECK-ERRORS: error: unpredictable LDP instruction, Rt2==Rt +; CHECK-ERRORS: ldp q1, q1, [x1, #32]! +; CHECK-ERRORS: ^ +; CHECK-ERRORS: error: unpredictable LDP instruction, Rt2==Rt +; CHECK-ERRORS: ldp q1, q1, [x1, #32] +; CHECK-ERRORS: ^ ; CHECK-ERRORS: error: unpredictable LDR instruction, writeback base is also a source ; CHECK-ERRORS: ldr x2, [x2], #8 ; CHECK-ERRORS: ^