From: Keith Walker Date: Tue, 5 Aug 2014 14:58:05 +0000 (+0000) Subject: Define stc2/stc2l/ldc2/ldc2l as thumb2 instructions X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=292aa3d5f78cc6dc9d880341a05b3b1a873eac31;p=platform%2Fupstream%2Fllvm.git Define stc2/stc2l/ldc2/ldc2l as thumb2 instructions llvm-svn: 214868 --- diff --git a/llvm/lib/Target/ARM/ARMInstrThumb2.td b/llvm/lib/Target/ARM/ARMInstrThumb2.td index 8e2324c..a1fee0a 100644 --- a/llvm/lib/Target/ARM/ARMInstrThumb2.td +++ b/llvm/lib/Target/ARM/ARMInstrThumb2.td @@ -3959,10 +3959,10 @@ defm t2LDC : t2LdStCop<0b1110, 1, 0, "ldc">; defm t2LDCL : t2LdStCop<0b1110, 1, 1, "ldcl">; defm t2STC : t2LdStCop<0b1110, 0, 0, "stc">; defm t2STCL : t2LdStCop<0b1110, 0, 1, "stcl">; -defm t2LDC2 : t2LdStCop<0b1111, 1, 0, "ldc2">, Requires<[PreV8]>; -defm t2LDC2L : t2LdStCop<0b1111, 1, 1, "ldc2l">, Requires<[PreV8]>; -defm t2STC2 : t2LdStCop<0b1111, 0, 0, "stc2">, Requires<[PreV8]>; -defm t2STC2L : t2LdStCop<0b1111, 0, 1, "stc2l">, Requires<[PreV8]>; +defm t2LDC2 : t2LdStCop<0b1111, 1, 0, "ldc2">, Requires<[PreV8,IsThumb2]>; +defm t2LDC2L : t2LdStCop<0b1111, 1, 1, "ldc2l">, Requires<[PreV8,IsThumb2]>; +defm t2STC2 : t2LdStCop<0b1111, 0, 0, "stc2">, Requires<[PreV8,IsThumb2]>; +defm t2STC2L : t2LdStCop<0b1111, 0, 1, "stc2l">, Requires<[PreV8,IsThumb2]>; //===----------------------------------------------------------------------===// diff --git a/llvm/test/MC/ARM/thumb-diagnostics.s b/llvm/test/MC/ARM/thumb-diagnostics.s index 19d17c2..d1b35c9 100644 --- a/llvm/test/MC/ARM/thumb-diagnostics.s +++ b/llvm/test/MC/ARM/thumb-diagnostics.s @@ -218,3 +218,14 @@ error: invalid operand for instruction ldr r4, [pc, #-12] @ CHECK-ERRORS: error: instruction requires: thumb2 +@------------------------------------------------------------------------------ +@ STC2{L}/LDC2{L} - requires thumb2 +@------------------------------------------------------------------------------ + stc2 p0, c8, [r1, #4] + stc2l p6, c2, [r7, #4] + ldc2 p0, c8, [r1, #4] + ldc2l p6, c2, [r7, #4] +@ CHECK-ERRORS: error: invalid operand for instruction +@ CHECK-ERRORS: error: invalid operand for instruction +@ CHECK-ERRORS: error: invalid operand for instruction +@ CHECK-ERRORS: error: invalid operand for instruction