Truncate the immediate in logical operation to the register width
[oota-llvm.git] / test / MC / AArch64 / basic-a64-diagnostics.s
index b33891cc3d731828a4978de7b97467352acada5c..2726d00ab9c00fbe6af206ffaeaca9d3347dccf2 100644 (file)
 // CHECK-ERROR-NEXT:         ngcs x2, sp
 // CHECK-ERROR-NEXT:                  ^
 
+//------------------------------------------------------------------------------
+// Logical (immediates)
+//------------------------------------------------------------------------------
+
+        and w2, w3, #4294967296
+        eor w2, w3, #4294967296
+        orr w2, w3, #4294967296
+        ands w2, w3, #4294967296
+// CHECK-ERROR: error: expected compatible register or logical immediate
+// CHECK-ERROR-NEXT:         and w2, w3, #4294967296
+// CHECK-ERROR-NEXT:                     ^
+// CHECK-ERROR-NEXT: error: expected compatible register or logical immediate
+// CHECK-ERROR-NEXT:         eor w2, w3, #4294967296
+// CHECK-ERROR-NEXT:                     ^
+// CHECK-ERROR-NEXT: error: expected compatible register or logical immediate
+// CHECK-ERROR-NEXT:         orr w2, w3, #4294967296
+// CHECK-ERROR-NEXT:                     ^
+// CHECK-ERROR-NEXT: error: expected compatible register or logical immediate
+// CHECK-ERROR-NEXT:         ands w2, w3, #4294967296
+// CHECK-ERROR-NEXT:                      ^
+
 //------------------------------------------------------------------------------
 // Bitfield
 //------------------------------------------------------------------------------