[PATCH] Revert "[LoongArch] Support InlineAsm for LSX and LASX"
authorchenli <chenli@loongson.cn>
Mon, 18 Mar 2024 07:16:34 +0000 (15:16 +0800)
committerGianfranco Costamagna <locutusofborg@debian.org>
Sat, 4 May 2024 05:30:47 +0000 (07:30 +0200)
commitbbb8c069a48c333e74a5801f8511c516be68be9e
treea1eada4dd9119e85b7243c22009e772995b22660
parent533239e7def4dab02acd23d3ea9e8fe2f30ac831
[PATCH] Revert "[LoongArch] Support InlineAsm for LSX and LASX"

This reverts commit d25c79dc70008b835312e5cc7ef48b199fda3165.

D154931[1] needs to be reverted on LLVM17. As Loongson SIMD Extension(LSX) and
Loongson Advanced SIMD Extension(LASX) are not fully supported on LLVM17,
InlineAsm for LSX and LASX should not be supported as well. Otherwise it leads
to the following issue[2]:
'''
LLVM ERROR: Cannot select: 0x7ffea41a3650: ch = store<(store (s128) into %ir.mask
store52)> 0x7ffea41a35e0, 0x7ffea4196a30, FrameIndex:i64<6>, undef:i64
'''

LSX and LASX are fully supported on LLVM18 and are not supported on LLVM16,
thus only LLVM17 has the problem.

[1] https://reviews.llvm.org/D154931
[2] https://buildd.debian.org/status/fetch.php?pkg=qtdeclarative-opensource-src&arch=loong64&ver=5.15.10%2Bdfsg-2%2Bb1&stamp=1710571569&raw=0

Change-Id: I2bd74a71fe5f0bcadeb04ecf1d63d9f97765e8b5

Gbp-Pq: Name D154931-revert-loong64.patch
13 files changed:
clang/lib/Basic/Targets/LoongArch.cpp
clang/test/CodeGen/LoongArch/lasx/inline-asm-gcc-regs-error.c [deleted file]
clang/test/CodeGen/LoongArch/lasx/inline-asm-gcc-regs.c [deleted file]
clang/test/CodeGen/LoongArch/lasx/inline-asm-operand-modifier.c [deleted file]
clang/test/CodeGen/LoongArch/lsx/inline-asm-gcc-regs-error.c [deleted file]
clang/test/CodeGen/LoongArch/lsx/inline-asm-gcc-regs.c [deleted file]
clang/test/CodeGen/LoongArch/lsx/inline-asm-operand-modifier.c [deleted file]
llvm/lib/Target/LoongArch/LoongArchAsmPrinter.cpp
llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
llvm/test/CodeGen/LoongArch/lasx/inline-asm-operand-modifier.ll [deleted file]
llvm/test/CodeGen/LoongArch/lasx/inline-asm-reg-names.ll [deleted file]
llvm/test/CodeGen/LoongArch/lsx/inline-asm-operand-modifier.ll [deleted file]
llvm/test/CodeGen/LoongArch/lsx/inline-asm-reg-names.ll [deleted file]