parent
6ba5a3f71e
commit
6efaed4fda
@ -1,23 +0,0 @@ |
||||
@define bu = bit + unit |
||||
@define b2 = bit * 2 |
||||
@define b2u = b2 + unit |
||||
|
||||
define void @mcl_fpDbl_sub$(bit)(i$(bit)* %pz, i$(b2)* %px, i$(b2)* %py, i$(bit)* %pp) { |
||||
%x = load i$(b2)* %px |
||||
%y = load i$(b2)* %py |
||||
%x1 = zext i$(b2) %x to i$(b2u) |
||||
%y1 = zext i$(b2) %y to i$(b2u) |
||||
%vc = sub i$(b2u) %x1, %y1 ; x - y = [H:L] |
||||
%L = trunc i$(b2u) %vc to i$(bit) ; L |
||||
store i$(bit) %L, i$(bit)* %pz |
||||
%vc1 = lshr i$(b2u) %vc, $(bit) |
||||
%H = trunc i$(b2u) %vc1 to i$(bit) ; H |
||||
%c = lshr i$(b2u) %vc, $(b2u-1) |
||||
%c1 = trunc i$(b2u) %c to i1 |
||||
%p = load i$(bit)* %pp |
||||
%a = select i1 %c1, i$(bit) %p, i$(bit) 0 |
||||
%v1 = add i$(bit) %H, %a |
||||
%pz1 = getelementptr i$(bit)* %pz, i32 1 |
||||
store i$(bit) %v1, i$(bit)* %pz1 |
||||
ret void |
||||
} |
Loading…
Reference in new issue