10 #define FP_X12(Z, X) \
13 "\n\tadd.u64.cc t0, "#X"0, "#X"0;" \
14 "\n\taddc.u64.cc t1, "#X"1, "#X"1;" \
15 "\n\taddc.u64.cc t2, "#X"2, "#X"2;" \
16 "\n\taddc.u64.cc t3, "#X"3, "#X"3;" \
17 "\n\taddc.u64.cc t4, "#X"4, "#X"4;" \
18 "\n\taddc.u64.cc t5, "#X"5, "#X"5;" \
19 "\n\taddc.u32 z6, 0, 0;" \
23 "\n\tadd.u64.cc "#Z"0, "#X"0, t0;" \
24 "\n\taddc.u64.cc "#Z"1, "#X"1, t1;" \
25 "\n\taddc.u64.cc "#Z"2, "#X"2, t2;" \
26 "\n\taddc.u64.cc "#Z"3, "#X"3, t3;" \
27 "\n\taddc.u64.cc "#Z"4, "#X"4, t4;" \
28 "\n\taddc.u64.cc "#Z"5, "#X"5, t5;" \
29 "\n\taddc.u32 z6, 0, z6;" \
33 "\n\tadd.u64.cc "#Z"0, "#Z"0, "#Z"0;" \
34 "\n\taddc.u64.cc "#Z"1, "#Z"1, "#Z"1;" \
35 "\n\taddc.u64.cc "#Z"2, "#Z"2, "#Z"2;" \
36 "\n\taddc.u64.cc "#Z"3, "#Z"3, "#Z"3;" \
37 "\n\taddc.u64.cc "#Z"4, "#Z"4, "#Z"4;" \
38 "\n\taddc.u64.cc "#Z"5, "#Z"5, "#Z"5;" \
39 "\n\taddc.u32 z6, z6, z6;" \
43 "\n\tadd.u64.cc "#Z"0, "#Z"0, "#Z"0;" \
44 "\n\taddc.u64.cc "#Z"1, "#Z"1, "#Z"1;" \
45 "\n\taddc.u64.cc "#Z"2, "#Z"2, "#Z"2;" \
46 "\n\taddc.u64.cc "#Z"3, "#Z"3, "#Z"3;" \
47 "\n\taddc.u64.cc "#Z"4, "#Z"4, "#Z"4;" \
48 "\n\taddc.u64.cc "#Z"5, "#Z"5, "#Z"5;" \
49 "\n\taddc.u32 z6, z6, z6;" \
53 "\n\tsetp.gt.u32 gt, z6, 7;" \
54 "\n@gt\tsub.u64.cc "#Z"0, "#Z"0, 0xABB1FFFFFFE6001AU;" \
55 "\n@gt\tsubc.u64.cc "#Z"1, "#Z"1, 0x5867FF9A0797FFEAU;" \
56 "\n@gt\tsubc.u64.cc "#Z"2, "#Z"2, 0x70E02D0B29EAFF01U;" \
57 "\n@gt\tsubc.u64.cc "#Z"3, "#Z"3, 0x9C590282328BB651U;" \
58 "\n@gt\tsubc.u64.cc "#Z"4, "#Z"4, 0xE26D1988810EA9A0U;" \
59 "\n@gt\tsubc.u64.cc "#Z"5, "#Z"5, 0xEC53755D84F84302U;" \
60 "\n@gt\tsubc.u32 z6, z6, 7;" \
64 "\n\tsetp.gt.u32 gt, z6, 3;" \
65 "\n@gt\tsub.u64.cc "#Z"0, "#Z"0, 0x55D8FFFFFFF3000DU;" \
66 "\n@gt\tsubc.u64.cc "#Z"1, "#Z"1, 0xAC33FFCD03CBFFF5U;" \
67 "\n@gt\tsubc.u64.cc "#Z"2, "#Z"2, 0xB870168594F57F80U;" \
68 "\n@gt\tsubc.u64.cc "#Z"3, "#Z"3, 0x4E2C81411945DB28U;" \
69 "\n@gt\tsubc.u64.cc "#Z"4, "#Z"4, 0x71368CC4408754D0U;" \
70 "\n@gt\tsubc.u64.cc "#Z"5, "#Z"5, 0xF629BAAEC27C2181U;" \
71 "\n@gt\tsubc.u32 z6, z6, 3;" \
75 "\n\tsetp.gt.u32 gt, z6, 1;" \
76 "\n@gt\tsub.u64.cc "#Z"0, "#Z"0, 0xCDECFFFFFFF9AAB1U;" \
77 "\n@gt\tsubc.u64.cc "#Z"1, "#Z"1, 0x46C3FFE7293BFFFAU;" \
78 "\n@gt\tsubc.u64.cc "#Z"2, "#Z"2, 0xA89FA1F24F2244AEU;" \
79 "\n@gt\tsubc.u64.cc "#Z"3, "#Z"3, 0x74DA9ADE12E06434U;" \
80 "\n@gt\tsubc.u64.cc "#Z"4, "#Z"4, 0x930D7286FE9DD3FCU;" \
81 "\n@gt\tsubc.u64.cc "#Z"5, "#Z"5, 0xEE145462447E1D73U;" \
82 "\n@gt\tsubc.u32 z6, z6, 1;" \
86 "\n\tsetp.gt.u32 gt, z6, 0;" \
87 "\n@gt\tsub.u64.cc "#Z"0, "#Z"0, 0x89F6FFFFFFFD0003U;" \
88 "\n@gt\tsubc.u64.cc "#Z"1, "#Z"1, 0x140BFFF43BF3FFFDU;" \
89 "\n@gt\tsubc.u64.cc "#Z"2, "#Z"2, 0xA0B767A8AC38A745U;" \
90 "\n@gt\tsubc.u64.cc "#Z"3, "#Z"3, 0x8831A7AC8FADA8BAU;" \
91 "\n@gt\tsubc.u64.cc "#Z"4, "#Z"4, 0xA3F8E5685DA91392U;" \
92 "\n@gt\tsubc.u64.cc "#Z"5, "#Z"5, 0xEA09A13C057F1B6CU;" \
93 "\n@gt\tsubc.u32 z6, z6, 0;" \
97 "\n\tsetp.gt.u32 gt, z6, 0;" \
98 "\n@gt\tsub.u64.cc "#Z"0, "#Z"0, 0x89F6FFFFFFFD0003U;" \
99 "\n@gt\tsubc.u64.cc "#Z"1, "#Z"1, 0x140BFFF43BF3FFFDU;" \
100 "\n@gt\tsubc.u64.cc "#Z"2, "#Z"2, 0xA0B767A8AC38A745U;" \
101 "\n@gt\tsubc.u64.cc "#Z"3, "#Z"3, 0x8831A7AC8FADA8BAU;" \
102 "\n@gt\tsubc.u64.cc "#Z"4, "#Z"4, 0xA3F8E5685DA91392U;" \
103 "\n@gt\tsubc.u64.cc "#Z"5, "#Z"5, 0xEA09A13C057F1B6CU;"