Thanks a lot for the inputs, Gururaj and Gabe.

Thanks,
Shyam

On Mon, Jul 1, 2019 at 1:21 AM Saileshwar, Gururaj <[email protected]>
wrote:

> 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 <[email protected]> on behalf of Gabe Black <
> [email protected]>
> Reply-To: gem5 users mailing list <[email protected]>
> Date: Sunday, June 30, 2019 at 10:42 PM
> To: Shyam Murthy <[email protected]>
> Cc: gem5 users mailing list <[email protected]>
> 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 <[email protected]>
> 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 <[email protected]>
>> 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 <
>>> [email protected]> 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" <[email protected]>
>>>> *To: *"gem5 users mailing list" <[email protected]>
>>>> *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
>>>> [email protected]
>>>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>>>>
>>>> _______________________________________________
>>>> gem5-users mailing list
>>>> [email protected]
>>>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>>>
>>>
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to