[Lldb-commits] [lldb] r359228 - [lldb] [lit] Use constexpr and better constraints in Register tests

Michal Gorny via lldb-commits lldb-commits at lists.llvm.org
Thu Apr 25 12:56:55 PDT 2019


Author: mgorny
Date: Thu Apr 25 12:56:54 2019
New Revision: 359228

URL: http://llvm.org/viewvc/llvm-project?rev=359228&view=rev
Log:
[lldb] [lit] Use constexpr and better constraints in Register tests

Use constexpr to explicitly indicate that we're dealing with integer
constants, and provoke clang to assign them straight to registers
whenever possible.  Adjust input constraints in %mmN tests to "rm"
as using integer constants is apparently disallowed there.  Also
use "i" for %rN tests, as we don't want clang to accidentally clobber
those general purpose registers while assigning to them (however
unlikely that is).

Modified:
    lldb/trunk/lit/Register/Inputs/x86-64-read.cpp
    lldb/trunk/lit/Register/Inputs/x86-mm-xmm-read.cpp

Modified: lldb/trunk/lit/Register/Inputs/x86-64-read.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/lit/Register/Inputs/x86-64-read.cpp?rev=359228&r1=359227&r2=359228&view=diff
==============================================================================
--- lldb/trunk/lit/Register/Inputs/x86-64-read.cpp (original)
+++ lldb/trunk/lit/Register/Inputs/x86-64-read.cpp Thu Apr 25 12:56:54 2019
@@ -5,23 +5,23 @@ struct alignas(16) xmm_t {
 };
 
 int main() {
-  uint64_t r8 = 0x0102030405060708;
-  uint64_t r9 = 0x1112131415161718;
-  uint64_t r10 = 0x2122232425262728;
-  uint64_t r11 = 0x3132333435363738;
-  uint64_t r12 = 0x4142434445464748;
-  uint64_t r13 = 0x5152535455565758;
-  uint64_t r14 = 0x6162636465666768;
-  uint64_t r15 = 0x7172737475767778;
+  constexpr uint64_t r8 = 0x0102030405060708;
+  constexpr uint64_t r9 = 0x1112131415161718;
+  constexpr uint64_t r10 = 0x2122232425262728;
+  constexpr uint64_t r11 = 0x3132333435363738;
+  constexpr uint64_t r12 = 0x4142434445464748;
+  constexpr uint64_t r13 = 0x5152535455565758;
+  constexpr uint64_t r14 = 0x6162636465666768;
+  constexpr uint64_t r15 = 0x7172737475767778;
 
-  xmm_t xmm8 = { 0x020406080A0C0E01, 0x030507090B0D0F00 };
-  xmm_t xmm9 = { 0x121416181A1C1E11, 0x131517191B1D1F10 };
-  xmm_t xmm10 = { 0x222426282A2C2E21, 0x232527292B2D2F20 };
-  xmm_t xmm11 = { 0x323436383A3C3E31, 0x333537393B3D3F30 };
-  xmm_t xmm12 = { 0x424446484A4C4E41, 0x434547494B4D4F40 };
-  xmm_t xmm13 = { 0x525456585A5C5E51, 0x535557595B5D5F50 };
-  xmm_t xmm14 = { 0x626466686A6C6E61, 0x636567696B6D6F60 };
-  xmm_t xmm15 = { 0x727476787A7C7E71, 0x737577797B7D7F70 };
+  constexpr xmm_t xmm8 = { 0x020406080A0C0E01, 0x030507090B0D0F00 };
+  constexpr xmm_t xmm9 = { 0x121416181A1C1E11, 0x131517191B1D1F10 };
+  constexpr xmm_t xmm10 = { 0x222426282A2C2E21, 0x232527292B2D2F20 };
+  constexpr xmm_t xmm11 = { 0x323436383A3C3E31, 0x333537393B3D3F30 };
+  constexpr xmm_t xmm12 = { 0x424446484A4C4E41, 0x434547494B4D4F40 };
+  constexpr xmm_t xmm13 = { 0x525456585A5C5E51, 0x535557595B5D5F50 };
+  constexpr xmm_t xmm14 = { 0x626466686A6C6E61, 0x636567696B6D6F60 };
+  constexpr xmm_t xmm15 = { 0x727476787A7C7E71, 0x737577797B7D7F70 };
 
   asm volatile(
     "movq    %0, %%r8\n\t"
@@ -44,8 +44,8 @@ int main() {
     "\n\t"
     "int3"
     :
-    : "g"(r8), "g"(r9), "g"(r10), "g"(r11), "g"(r12), "g"(r13), "g"(r14),
-      "g"(r15), "m"(xmm8), "m"(xmm9), "m"(xmm10), "m"(xmm11), "m"(xmm12),
+    : "i"(r8), "i"(r9), "i"(r10), "i"(r11), "i"(r12), "i"(r13), "i"(r14),
+      "i"(r15), "m"(xmm8), "m"(xmm9), "m"(xmm10), "m"(xmm11), "m"(xmm12),
       "m"(xmm13), "m"(xmm14), "m"(xmm15)
     : "%r8", "%r9", "%r10", "%r11", "%r12", "%r13", "%r14", "%r15", "%xmm8",
       "%xmm9", "%xmm10", "%xmm11", "%xmm12", "%xmm13", "%xmm14", "%xmm15"

Modified: lldb/trunk/lit/Register/Inputs/x86-mm-xmm-read.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/lit/Register/Inputs/x86-mm-xmm-read.cpp?rev=359228&r1=359227&r2=359228&view=diff
==============================================================================
--- lldb/trunk/lit/Register/Inputs/x86-mm-xmm-read.cpp (original)
+++ lldb/trunk/lit/Register/Inputs/x86-mm-xmm-read.cpp Thu Apr 25 12:56:54 2019
@@ -5,23 +5,23 @@ struct alignas(16) xmm_t {
 };
 
 int main() {
-  uint64_t mm0 = 0x0102030405060708;
-  uint64_t mm1 = 0x1112131415161718;
-  uint64_t mm2 = 0x2122232425262728;
-  uint64_t mm3 = 0x3132333435363738;
-  uint64_t mm4 = 0x4142434445464748;
-  uint64_t mm5 = 0x5152535455565758;
-  uint64_t mm6 = 0x6162636465666768;
-  uint64_t mm7 = 0x7172737475767778;
+  constexpr uint64_t mm0 = 0x0102030405060708;
+  constexpr uint64_t mm1 = 0x1112131415161718;
+  constexpr uint64_t mm2 = 0x2122232425262728;
+  constexpr uint64_t mm3 = 0x3132333435363738;
+  constexpr uint64_t mm4 = 0x4142434445464748;
+  constexpr uint64_t mm5 = 0x5152535455565758;
+  constexpr uint64_t mm6 = 0x6162636465666768;
+  constexpr uint64_t mm7 = 0x7172737475767778;
 
-  xmm_t xmm0 = { 0x020406080A0C0E01, 0x030507090B0D0F00 };
-  xmm_t xmm1 = { 0x121416181A1C1E11, 0x131517191B1D1F10 };
-  xmm_t xmm2 = { 0x222426282A2C2E21, 0x232527292B2D2F20 };
-  xmm_t xmm3 = { 0x323436383A3C3E31, 0x333537393B3D3F30 };
-  xmm_t xmm4 = { 0x424446484A4C4E41, 0x434547494B4D4F40 };
-  xmm_t xmm5 = { 0x525456585A5C5E51, 0x535557595B5D5F50 };
-  xmm_t xmm6 = { 0x626466686A6C6E61, 0x636567696B6D6F60 };
-  xmm_t xmm7 = { 0x727476787A7C7E71, 0x737577797B7D7F70 };
+  constexpr xmm_t xmm0 = { 0x020406080A0C0E01, 0x030507090B0D0F00 };
+  constexpr xmm_t xmm1 = { 0x121416181A1C1E11, 0x131517191B1D1F10 };
+  constexpr xmm_t xmm2 = { 0x222426282A2C2E21, 0x232527292B2D2F20 };
+  constexpr xmm_t xmm3 = { 0x323436383A3C3E31, 0x333537393B3D3F30 };
+  constexpr xmm_t xmm4 = { 0x424446484A4C4E41, 0x434547494B4D4F40 };
+  constexpr xmm_t xmm5 = { 0x525456585A5C5E51, 0x535557595B5D5F50 };
+  constexpr xmm_t xmm6 = { 0x626466686A6C6E61, 0x636567696B6D6F60 };
+  constexpr xmm_t xmm7 = { 0x727476787A7C7E71, 0x737577797B7D7F70 };
 
   asm volatile(
     "movq    %0, %%mm0\n\t"
@@ -44,9 +44,9 @@ int main() {
     "\n\t"
     "int3"
     :
-    : "g"(mm0), "g"(mm1), "g"(mm2), "g"(mm3), "g"(mm4), "g"(mm5), "g"(mm6),
-      "g"(mm7), "m"(xmm0), "m"(xmm1), "m"(xmm2), "m"(xmm3), "m"(xmm4),
-      "m"(xmm5), "m"(xmm6), "m"(xmm7)
+    : "rm"(mm0), "rm"(mm1), "rm"(mm2), "rm"(mm3), "rm"(mm4), "rm"(mm5),
+      "rm"(mm6), "rm"(mm7), "m"(xmm0), "m"(xmm1), "m"(xmm2), "m"(xmm3),
+      "m"(xmm4), "m"(xmm5), "m"(xmm6), "m"(xmm7)
     : "%mm0", "%mm1", "%mm2", "%mm3", "%mm4", "%mm5", "%mm6", "%mm7",
       "%xmm0", "%xmm1", "%xmm2", "%xmm3", "%xmm4", "%xmm5", "%xmm6", "%xmm7"
   );




More information about the lldb-commits mailing list