Hi Shyam, I also faced this issue with “movntdq_Mo_Vo” in the recent past when I was trying to compile and run SPEC2006 with Gem5.
I managed to debug it to some extent – the source of these unimplemented instructions is likely one of the linked libraries (mostly glibc) that the binary uses. While I didn’t manage to find a fix, I got a work-around: I compiled my binaries with static linking (-static flag to linker) on a older system that apparently did not use this instruction. Subsequently, those binaries also worked with Gem5 on my newer system where I was originally facing this issue. Sorry, I am unable to give you precise versions of the SW I used – I no longer have access. Hope this helps! Gururaj From: gem5-users <gem5-users-boun...@gem5.org<mailto:gem5-users-boun...@gem5.org>> on behalf of Gabe Black <gabebl...@google.com<mailto:gabebl...@google.com>> Reply-To: gem5 users mailing list <gem5-users@gem5.org<mailto:gem5-users@gem5.org>> Date: Sunday, June 30, 2019 at 10:42 PM To: Shyam Murthy <shyammurth...@gmail.com<mailto:shyammurth...@gmail.com>> Cc: gem5 users mailing list <gem5-users@gem5.org<mailto:gem5-users@gem5.org>> Subject: Re: [gem5-users] SPECCPU 2006 application crashes on x86 gem5 Hi Shyam. Part of the issue is an unfortunate aspect of how gcc works where there are some components that are built when gcc itself is built/installed which use certain settings, and if you link against them later (which gcc will do implicitly/automatically in at least a couple cases) those settings won't change and you can get, for instance, instructions that you'd turned off. There can be even bigger issues if you change flags that break ABI compatibility since those libraries won't work at all instead of just disregarding your settings. There are apparently also header files which get pulled in which use features you can technically disable, but disabling them breaks those headers. I think the linked thread is probably where someone was using instructions which were too new to be supported, but in your case I think (without having the time to check for sure) that that instruction isn't supported because it's the non-temporal version, and there isn't (or at least wasn't) a good way to implement that behavior. I vaguely remember adding a flag which disabled caching which you might find if you look at the repository history or archived emails, so it may be possible to implement that instruction properly now. Gabe On Sun, Jun 30, 2019 at 4:38 PM Shyam Murthy <shyammurth...@gmail.com<mailto:shyammurth...@gmail.com>> wrote: Hi, Additionally, I also tried using the -mno-sse2 flag, with which it compiles, but the error persists. However, when I tried to compile using the -mno-sse flag, then compilation fails saying: /usr/include/x86_64-linux-gnu/bits/stdlib-float.h: In function 'atof': /usr/include/x86_64-linux-gnu/bits/stdlib-float.h:26:1: error: SSE register return with SSE disabled Thanks, Shyam On Sun, Jun 30, 2019 at 3:24 PM Shyam Murthy <shyammurth...@gmail.com<mailto:shyammurth...@gmail.com>> wrote: Hi, This is slightly different, there is no panic message here. However, this instruction is unimplemented, but is required by the application for its execution, causing it to abort. As in your link, Gabe mentions that we need to tell the compiler not to use this instruction. I was unsure how to achieve the same, I tried passing the -msse flag to gcc during compilation, but the movntdq instruction still seems to be getting generated. Thanks, Shyam On Sun, Jun 30, 2019 at 1:06 PM Kleovoulos Kalaitzidis <kleovoulos.kalaitzi...@inria.fr<mailto:kleovoulos.kalaitzi...@inria.fr>> wrote: Hello, it is normal to get these warnings for unimplemented instructions. However, in my experience, these warnings are not the case for aborting. Normally some panic message follows, but maybe not related to this "warn". For instance, there is the case of avx instructions that are not implemented and will abort the execution : https://gem5-users.gem5.narkive.com/jO22f7kV/spec2017-on-gem5-se-mode Regards, -- Kleovoulos Kalaitzidis Doctorant - Équipe PACAP Centre de recherche INRIA Rennes - Bretagne Atlantique Bâtiment 12E, Bureau E321, Campus de Beaulieu, 35042 Rennes Cedex, France ________________________________ From: "Shyam Murthy" <shyammurth...@gmail.com<mailto:shyammurth...@gmail.com>> To: "gem5 users mailing list" <gem5-users@gem5.org<mailto:gem5-users@gem5.org>> Sent: Sunday, June 30, 2019 7:02:37 PM Subject: [gem5-users] SPECCPU 2006 application crashes on x86 gem5 Hi All, I am trying to run some of the FP applications from SPECCPU 2006. However, for some of these applications (like povray, tonto), I get an error that says: warn: instruction 'movntdq_Mo_Vo' unimplemented. I am compiling these applications on my machine, and then running them on x86 gem5. My machine uses gcc version 7.4.0. I tried using gcc version 5.5 (already installed on my machine), but the problem persists. Any suggestions as to what I can do to fix this? Thanks, Shyam _______________________________________________ gem5-users mailing list gem5-users@gem5.org<mailto:gem5-users@gem5.org> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users _______________________________________________ gem5-users mailing list gem5-users@gem5.org<mailto:gem5-users@gem5.org> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users