[PATCH] D30662: Update clang filtering for mxcsr

Andy Kaylor via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Mar 6 09:44:34 PST 2017


andrew.w.kaylor created this revision.

This patch updates the clang function that filters the mxcsr register name to recognize that mxcsr is being split into two pseduo-registers that model the control and status bits separately.


Repository:
  rL LLVM

https://reviews.llvm.org/D30662

Files:
  lib/Parse/ParseStmtAsm.cpp


Index: lib/Parse/ParseStmtAsm.cpp
===================================================================
--- lib/Parse/ParseStmtAsm.cpp
+++ lib/Parse/ParseStmtAsm.cpp
@@ -623,8 +623,9 @@
 
   // Filter out "fpsw" and "mxcsr". They aren't valid GCC asm clobber
   // constraints. Clang always adds fpsr to the clobber list anyway.
+  // Note that mxcsr is modeled as two separate registers.
   llvm::erase_if(Clobbers, [](const std::string &C) {
-    return C == "fpsw" || C == "mxcsr";
+    return C == "fpsw" || C == "mxcsr_c" || C == "mxcsr_s";
   });
 
   // Build the vector of clobber StringRefs.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D30662.90719.patch
Type: text/x-patch
Size: 599 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170306/1d91d287/attachment.bin>


More information about the cfe-commits mailing list