mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-04 22:28:27 +00:00
Add 64-bit multiply and divide instructions for SPARC v9.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179582 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -154,3 +154,24 @@ define i8 @promote_shifts(i8* %p) {
|
||||
%B36 = shl i8 %L24, %L32
|
||||
ret i8 %B36
|
||||
}
|
||||
|
||||
; CHECK: multiply
|
||||
; CHECK: mulx %i0, %i1, %i0
|
||||
define i64 @multiply(i64 %a, i64 %b) {
|
||||
%r = mul i64 %a, %b
|
||||
ret i64 %r
|
||||
}
|
||||
|
||||
; CHECK: signed_divide
|
||||
; CHECK: sdivx %i0, %i1, %i0
|
||||
define i64 @signed_divide(i64 %a, i64 %b) {
|
||||
%r = sdiv i64 %a, %b
|
||||
ret i64 %r
|
||||
}
|
||||
|
||||
; CHECK: unsigned_divide
|
||||
; CHECK: udivx %i0, %i1, %i0
|
||||
define i64 @unsigned_divide(i64 %a, i64 %b) {
|
||||
%r = udiv i64 %a, %b
|
||||
ret i64 %r
|
||||
}
|
||||
|
Reference in New Issue
Block a user