4 #define CONV(opc, from, to, val) \
7 printf("%-11s : ", "D" #from " -> D" #to); \
8 DFP_VAL_PRINT(val, pun_d##from); \
9 asm(".insn rrf," opc "0000,%[r1],%[r2],0,0" \
13 DFP_VAL_PRINT(out, pun_d##to); \
17 static const pun_d64 dd_A
= {0x22340000000c0004}; /* 60000.4DD */
18 static const pun_d32 df_B
= {0x2df00002}; /* 3.000002DF */
20 /* 100000000.000028DL */
21 static const pun_d128 dl_C
= {{0x2206800000000000, 0x0000800000000028}};
25 CONV("0xb3d4", 32, 64, df_B
); /* LDETR (load lengthened) */
26 CONV("0xb3dc", 64, 128, dd_A
); /* LXDTR (load lengthened) */
27 CONV("0xb3d5", 64, 32, dd_A
); /* LEDTR (load rounded) */
28 CONV("0xb3dd", 128, 64, dl_C
); /* LDXTR (load rounded) */