Author: mzuckerm Date: Mon Oct 31 07:05:41 2016 New Revision: 285563 URL: http://llvm.org/viewvc/llvm-project?rev=285563&view=rev Log: [x86][inline-asm] Introducing (AVX512) k0-k7 registers for inline-asm usage
Commit on behalf of mharoush After LGTM and check all: This patch enables usage of k registers in inline assembly syntax. Adding triple Reviewer: 1. rnk 2. delena Differential Revision: https://reviews.llvm.org/D25011 Added: cfe/trunk/test/CodeGen/avx512-inline-asm-kregisters-basics.c Modified: cfe/trunk/lib/Basic/Targets.cpp Modified: cfe/trunk/lib/Basic/Targets.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Targets.cpp?rev=285563&r1=285562&r2=285563&view=diff ============================================================================== --- cfe/trunk/lib/Basic/Targets.cpp (original) +++ cfe/trunk/lib/Basic/Targets.cpp Mon Oct 31 07:05:41 2016 @@ -2397,6 +2397,7 @@ static const char* const GCCRegNames[] = "zmm8", "zmm9", "zmm10", "zmm11", "zmm12", "zmm13", "zmm14", "zmm15", "zmm16", "zmm17", "zmm18", "zmm19", "zmm20", "zmm21", "zmm22", "zmm23", "zmm24", "zmm25", "zmm26", "zmm27", "zmm28", "zmm29", "zmm30", "zmm31", + "k0", "k1", "k2", "k3", "k4", "k5", "k6", "k7", }; const TargetInfo::AddlRegName AddlRegNames[] = { Added: cfe/trunk/test/CodeGen/avx512-inline-asm-kregisters-basics.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/avx512-inline-asm-kregisters-basics.c?rev=285563&view=auto ============================================================================== --- cfe/trunk/test/CodeGen/avx512-inline-asm-kregisters-basics.c (added) +++ cfe/trunk/test/CodeGen/avx512-inline-asm-kregisters-basics.c Mon Oct 31 07:05:41 2016 @@ -0,0 +1,17 @@ +// RUN: %clang_cc1 %s -triple=x86_64-apple-darwin -target-cpu skylake-avx512 -O0 -S -o - -Wall -Werror | FileCheck %s +// This test checks basic inline assembly recognition of k0-k7 registers for avx512. + +void test_basic_inline_asm_with_k_regs() { + //CHECK: ## InlineAsm Start + //CHECK: kandw %k1, %k2, %k3 + //CHECK: ## InlineAsm End + asm("kandw %k1, %k2, %k3\t"); + //CHECK: ## InlineAsm Start + //CHECK: kandw %k4, %k5, %k6 + //CHECK: ## InlineAsm End + asm("kandw %k4, %k5, %k6\t"); + //CHECK: ## InlineAsm Start + //CHECK: kandw %k7, %k0, %k1 + //CHECK: ## InlineAsm End + asm("kandw %k7, %k0, %k1\t"); +} _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits