Index: clang/lib/Basic/Targets/AMDGPU.h =================================================================== --- clang/lib/Basic/Targets/AMDGPU.h +++ clang/lib/Basic/Targets/AMDGPU.h @@ -131,6 +131,11 @@ }); StringRef S(Name); + if (S == "A") { + Info.setRequiresImmediate(); + return true; + } + bool HasLeftParen = false; if (S.front() == '{') { HasLeftParen = true; Index: clang/test/Sema/inline-asm-validate-amdgpu.cl =================================================================== --- clang/test/Sema/inline-asm-validate-amdgpu.cl +++ clang/test/Sema/inline-asm-validate-amdgpu.cl @@ -17,6 +17,10 @@ // vgpr constraints __asm__ ("v_mov_b32 %0, %1" : "=v" (vgpr) : "v" (imm) : ); + + // 'A' constraint + __asm__ ("s_mov_b32 %0, %1" : "=s" (sgpr) : "A" (imm) : ); + } __kernel void