https://bugs.kde.org/show_bug.cgi?id=508661
Bug ID: 508661
Summary: ppc64le: Testcase none/tests/ppc64/test_isa_3_1_VRT
assserts
Classification: Developer tools
Product: valgrind
Version First unspecified
Reported In:
Platform: Other
OS: Linux
Status: REPORTED
Severity: normal
Priority: NOR
Component: vex
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---
With current git ffc66d9dcdc2
Testcase none/tests/ppc64/test_isa_3_1_VRT asserts in function
dis_vx_quadword_arith
because of this:
putVReg( vT_addr, binop( Iop_ModS128, mkexpr( ......
where binop produces an IRExpr of type Ity_I128 but PutVReg expects that
expression to have type Ity_V128.
The code has been like this since affeb57ccd 2021-01-22. Has this ever worked?
Here's the reproducer:
__attribute__((altivec(vector__))) unsigned long long vrt, vra, vrb, vrc;
static void test_vdivesq (void) {
__asm__ __volatile__ ("vdivesq %0, %1, %2"
: "=v" (vrt) : "v" (vra), "v" (vrb) );
}
int main()
{
test_vdivesq();
return 0;
}
On a POWER10 machine (or newer):
gcc -c test.c
valgrind --tool=none ./a.out
vex: priv/guest_ppc_toIR.c:1717 (putVReg): Assertion `typeOfIRExpr(irsb->tyenv,
e) == Ity_V128' failed.
vex storage: T total 86151576 bytes allocated
vex storage: P total 192 bytes allocated
valgrind: the 'impossible' happened:
LibVEX called failure_exit().
host stacktrace:
==918931== at 0x58038798: show_sched_status_wrk (m_libcassert.c:426)
==918931== by 0x5803896F: report_and_quit (m_libcassert.c:497)
==918931== by 0x58038BB7: vgPlain_core_panic_at (m_libcassert.c:572)
==918931== by 0x58038BEB: vgPlain_core_panic (m_libcassert.c:582)
==918931== by 0x58055BC7: failure_exit (m_translate.c:761)
==918931== by 0x5815D47B: vex_assert_fail (main_util.c:245)
==918931== by 0x5818C69F: putVReg (guest_ppc_toIR.c:1717)
==918931== by 0x581EC5A7: dis_vx_quadword_arith.constprop.0
(guest_ppc_toIR.c:29043)
==918931== by 0x582251AB: disInstr_PPC (guest_ppc_toIR.c:37816)
==918931== by 0x58182B3B: disassemble_basic_block_till_stop
(guest_generic_bb_to_IR.c:956)
==918931== by 0x58184E4B: bb_to_IR (guest_generic_bb_to_IR.c:1451)
==918931== by 0x5815AFDB: LibVEX_FrontEnd (main_main.c:617)
==918931== by 0x5815BA3F: LibVEX_Translate (main_main.c:1293)
==918931== by 0x5805965B: vgPlain_translate (m_translate.c:1835)
==918931== by 0x5801AA23: vgPlain_scheduler (scheduler.c:1144)
==918931== by 0x580ADC07: run_a_thread_NORETURN (syswrap-linux.c:102)
--
You are receiving this mail because:
You are watching all bug changes.