AArch64: fix typo in SMIN far atomics and add tests
authorTim Northover <tnorthover@apple.com>
Tue, 2 Jun 2015 18:37:20 +0000 (18:37 +0000)
committerTim Northover <tnorthover@apple.com>
Tue, 2 Jun 2015 18:37:20 +0000 (18:37 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@238858 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/AArch64/AArch64InstrInfo.td
test/MC/AArch64/armv8.1a-atomic.s
test/MC/Disassembler/AArch64/armv8.1a-atomic.txt

index 99f231a1e0e8a729fdd1d7d1472d66cc99909320..2f1b8933bf6178a49ec40ed38d8ecc13206a5f7e 100644 (file)
@@ -789,7 +789,7 @@ defm LDSMAXA  : LDOPregister<0b100, "smax", 1, 0, "a">;
 defm LDSMAXL  : LDOPregister<0b100, "smax", 0, 1, "l">;
 defm LDSMAXAL : LDOPregister<0b100, "smax", 1, 1, "al">;
 
-defm LDSMIN   : LDOPregister<0b101, "smin`", 0, 0, "">;
+defm LDSMIN   : LDOPregister<0b101, "smin", 0, 0, "">;
 defm LDSMINA  : LDOPregister<0b101, "smin", 1, 0, "a">;
 defm LDSMINL  : LDOPregister<0b101, "smin", 0, 1, "l">;
 defm LDSMINAL : LDOPregister<0b101, "smin", 1, 1, "al">;
index 224943b59f183e9cac038bf5f8370fae7bc849bc..bcfd3e7d166a5e18406417cfe76d1a9c3ca6367e 100644 (file)
@@ -84,6 +84,7 @@
   ldsminlb w0, w1, [x2]
   ldumaxalh w0, w1, [x2]
   ldumin w0, w1, [x2]
+  ldsminb w2, w3, [x5]
 //CHECK: ldadda     x0, x1, [x2]  // encoding: [0x41,0x00,0xa0,0xf8]
 //CHECK: ldclrl     x0, x1, [x2]  // encoding: [0x41,0x10,0x60,0xf8]
 //CHECK: ldeoral    x0, x1, [x2]  // encoding: [0x41,0x20,0xe0,0xf8]
@@ -92,6 +93,7 @@
 //CHECK: ldsminlb   w0, w1, [x2]  // encoding: [0x41,0x50,0x60,0x38]
 //CHECK: ldumaxalh  w0, w1, [x2]  // encoding: [0x41,0x60,0xe0,0x78]
 //CHECK: ldumin     w0, w1, [x2]  // encoding: [0x41,0x70,0x20,0xb8]
+//CHECK: ldsminb    w2, w3, [x5]  // encoding: [0xa3,0x50,0x22,0x38]
 
   // ST<OP> intructions: aliases to LD<OP>
   stADDlb w0, [x2]
   stsminh  w0, [x2]
   stumax   w0, [x2]
   stumin   x0, [x2]
+  stsminl x29, [sp]
 //CHECK: staddlb    w0, [x2]  // encoding: [0x5f,0x00,0x60,0x38]
 //CHECK: stclrlh    w0, [x2]  // encoding: [0x5f,0x10,0x60,0x78]
 //CHECK: steorl     w0, [x2]  // encoding: [0x5f,0x20,0x60,0xb8]
 //CHECK: stsminh     w0, [x2]  // encoding: [0x5f,0x50,0x20,0x78]
 //CHECK: stumax      w0, [x2]  // encoding: [0x5f,0x60,0x20,0xb8]
 //CHECK: stumin      x0, [x2]  // encoding: [0x5f,0x70,0x20,0xf8]
+//CHECK: stsminl     x29, [sp] // encoding: [0xff,0x53,0x7d,0xf8]
+
 
   ldsmax x0, x1, [w2]
   ldeorl w0, w1, [w2]
index 67c6954c567bb887b351de82c34836320a15ed97..b20fabb8c6f1e008a8fae4366ca78059d7d87ae7 100644 (file)
@@ -51,6 +51,7 @@
 0x41,0x50,0x60,0x38
 0x41,0x60,0xe0,0x78
 0x41,0x70,0x20,0xb8
+0xab,0x51,0xe7,0x78
 # CHECK:  ldadda    x0, x1, [x2]
 # CHECK:  ldclrl    x0, x1, [x2]
 # CHECK:  ldeoral   x0, x1, [x2]
@@ -59,6 +60,7 @@
 # CHECK:  ldsminlb  w0, w1, [x2]
 # CHECK:  ldumaxalh w0, w1, [x2]
 # CHECK:  ldumin    w0, w1, [x2]
+# CHECK:  ldsminalh w7, w11, [x13]
 
 0x5f,0x00,0x60,0x38
 0x5f,0x10,0x60,0x78
@@ -68,6 +70,7 @@
 0x5f,0x50,0x20,0x78
 0x5f,0x60,0x20,0xb8
 0x5f,0x70,0x20,0xf8
+0xff,0x53,0x7d,0xf8
 # CHECK: staddlb    w0, [x2]
 # CHECK: stclrlh    w0, [x2]
 # CHECK: steorl     w0, [x2]
@@ -76,6 +79,7 @@
 # CHECK: stsminh     w0, [x2]
 # CHECK: stumax      w0, [x2]
 # CHECK: stumin      x0, [x2]
+# CHECK: stsminl     x29, [sp]
 
 0x82,0x7c,0x20,0x48
 0x82,0x7c,0x20,0x08