mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-11-02 07:17:36 +00:00
[x86] Broadwell: ADOX/ADCX. Added _addcarryx_u{32|64} intrinsics to LLVM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216162 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
26
test/CodeGen/X86/adx-intrinsics.ll
Normal file
26
test/CodeGen/X86/adx-intrinsics.ll
Normal file
@@ -0,0 +1,26 @@
|
||||
; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=broadwell --show-mc-encoding| FileCheck %s --check-prefix=ADX --check-prefix=CHECK
|
||||
|
||||
declare i8 @llvm.x86.addcarryx.u32(i8, i32, i32, i8*)
|
||||
|
||||
define i8 @test_addcarryx_u32(i8 %c, i32 %a, i32 %b, i8* %ptr) {
|
||||
; CHECK-LABEL: test_addcarryx_u32
|
||||
; CHECK: addb
|
||||
; ADX: adcxl
|
||||
; CHECK: setb
|
||||
; CHECK: retq
|
||||
%ret = tail call i8 @llvm.x86.addcarryx.u32(i8 %c, i32 %a, i32 %b, i8* %ptr)
|
||||
ret i8 %ret;
|
||||
}
|
||||
|
||||
declare i8 @llvm.x86.addcarryx.u64(i8, i64, i64, i8*)
|
||||
|
||||
define i8 @test_addcarryx_u64(i8 %c, i64 %a, i64 %b, i8* %ptr) {
|
||||
; CHECK-LABEL: test_addcarryx_u64
|
||||
; CHECK: addb
|
||||
; ADX: adcxq
|
||||
; CHECK: setb
|
||||
; CHECK: retq
|
||||
%ret = tail call i8 @llvm.x86.addcarryx.u64(i8 %c, i64 %a, i64 %b, i8* %ptr)
|
||||
ret i8 %ret;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user