diff options
Diffstat (limited to 'clang')
| -rw-r--r-- | clang/lib/Basic/Targets.cpp | 3 | ||||
| -rw-r--r-- | clang/test/CodeGen/arm-asm-warn.c | 1 |
2 files changed, 2 insertions, 2 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index 496893885c6..baf83c1a14c 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/lib/Basic/Targets.cpp @@ -3897,8 +3897,7 @@ public: case 'r': { switch (Modifier) { default: - return isInOut || (isOutput && Size >= 32) || - (!isOutput && !isInOut && Size <= 32); + return (isInOut || isOutput || Size <= 32); case 'q': // A register of size 32 cannot fit a vector type. return false; diff --git a/clang/test/CodeGen/arm-asm-warn.c b/clang/test/CodeGen/arm-asm-warn.c index 9b52dd695a5..dbcbb38a749 100644 --- a/clang/test/CodeGen/arm-asm-warn.c +++ b/clang/test/CodeGen/arm-asm-warn.c @@ -12,6 +12,7 @@ void t1(int x, char y) { : "+r" (x), "+r" (y) :); + __asm__ volatile("ldrb %0, [%1]" : "=r" (y) : "r" (x)); // no warning } // <rdar://problem/12284092> |

