__asm__ __volatile__ ("mulld 17, 14, 15");
}
+static void test_mulldo (void)
+{
+ __asm__ __volatile__ ("mulldo 17, 14, 15");
+}
+
static void test_mulhd (void)
{
__asm__ __volatile__ ("mulhd 17, 14, 15");
{ &test_mulhd , " mulhd", },
{ &test_mulhdu , " mulhdu", },
{ &test_mulld , " mulld", },
+ { &test_mulldo , " mulldo", },
{ &test_divd , " divd", },
{ &test_divdu , " divdu", },
#endif // #ifdef __powerpc64__
__asm__ __volatile__ ("mulld. 17, 14, 15");
}
+static void test_mulldo_ (void)
+{
+ __asm__ __volatile__ ("mulldo. 17, 14, 15");
+}
+
static void test_divd_ (void)
{
__asm__ __volatile__ ("divd. 17, 14, 15");
{ &test_mulhd_ , " mulhd.", },
{ &test_mulhdu_ , " mulhdu.", },
{ &test_mulld_ , " mulld.", },
+ { &test_mulldo_ , " mulldo.", },
{ &test_divd_ , " divd.", },
{ &test_divdu_ , " divdu.", },
#endif // #ifdef __powerpc64__
mulld ffffffffffffffff, 0000001cbe991def => ffffffe34166e211 (00000000 00000000)
mulld ffffffffffffffff, ffffffffffffffff => 0000000000000001 (00000000 00000000)
+ mulldo 0000000000000000, 0000000000000000 => 0000000000000000 (00000000 00000000)
+ mulldo 0000000000000000, 0000001cbe991def => 0000000000000000 (00000000 00000000)
+ mulldo 0000000000000000, ffffffffffffffff => 0000000000000000 (00000000 00000000)
+ mulldo 0000001cbe991def, 0000000000000000 => 0000000000000000 (00000000 00000000)
+ mulldo 0000001cbe991def, 0000001cbe991def => 3f66304b8f2e0521 (00000000 c0000000)
+ mulldo 0000001cbe991def, ffffffffffffffff => ffffffe34166e211 (00000000 00000000)
+ mulldo ffffffffffffffff, 0000000000000000 => 0000000000000000 (00000000 00000000)
+ mulldo ffffffffffffffff, 0000001cbe991def => ffffffe34166e211 (00000000 00000000)
+ mulldo ffffffffffffffff, ffffffffffffffff => 0000000000000001 (00000000 00000000)
+
divd 0000000000000000, 0000000000000000 => 0000000000000000 (00000000 00000000)
divd 0000000000000000, 0000001cbe991def => 0000000000000000 (00000000 00000000)
divd 0000000000000000, ffffffffffffffff => 0000000000000000 (00000000 00000000)
mulld. ffffffffffffffff, 0000001cbe991def => ffffffe34166e211 (80000000 00000000)
mulld. ffffffffffffffff, ffffffffffffffff => 0000000000000001 (40000000 00000000)
+ mulldo. 0000000000000000, 0000000000000000 => 0000000000000000 (20000000 00000000)
+ mulldo. 0000000000000000, 0000001cbe991def => 0000000000000000 (20000000 00000000)
+ mulldo. 0000000000000000, ffffffffffffffff => 0000000000000000 (20000000 00000000)
+ mulldo. 0000001cbe991def, 0000000000000000 => 0000000000000000 (20000000 00000000)
+ mulldo. 0000001cbe991def, 0000001cbe991def => 3f66304b8f2e0521 (50000000 c0000000)
+ mulldo. 0000001cbe991def, ffffffffffffffff => ffffffe34166e211 (80000000 00000000)
+ mulldo. ffffffffffffffff, 0000000000000000 => 0000000000000000 (20000000 00000000)
+ mulldo. ffffffffffffffff, 0000001cbe991def => ffffffe34166e211 (80000000 00000000)
+ mulldo. ffffffffffffffff, ffffffffffffffff => 0000000000000001 (40000000 00000000)
+
divd. 0000000000000000, 0000000000000000 => 0000000000000000 (20000000 00000000)
divd. 0000000000000000, 0000001cbe991def => 0000000000000000 (20000000 00000000)
divd. 0000000000000000, ffffffffffffffff => 0000000000000000 (20000000 00000000)
popcntb 0000001cbe991def => 0000000306040407 (00000000 00000000)
popcntb ffffffffffffffff => 0808080808080808 (00000000 00000000)
-All done. Tested 204 different instructions
+All done. Tested 206 different instructions