Created attachment 75687 [details] Test case Running the attached program under valgrind produces this output: ==24333== Memcheck, a memory error detector ==24333== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al. ==24333== Using Valgrind-3.8.1 and LibVEX; rerun with -h for copyright info ==24333== Command: ./a.out ==24333== V128{0xFFFF} vex: the `impossible' happened: 128-bit constant is not implemented vex storage: T total 59509608 bytes allocated vex storage: P total 528 bytes allocated valgrind: the 'impossible' happened: LibVEX called failure_exit(). ==24333== at 0x3805EC0C: report_and_quit (m_libcassert.c:235) ==24333== by 0xE28D200F: ??? sched status: running_tid=1 Thread 1: status = VgTs_Runnable ==24333== at 0x8434: ??? (in /tmp/a.out)
Created attachment 75688 [details] Patch This patch makes the error go away. Not sure if it's the correct fix.
Fixed, r2693. Thanks for the patch. I think it was not quite right and could have caused you to miss possible uninitialised value errors in obscure circumstances.