From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=pass header.i=@apple.com header.s=20180706 header.b=wRnGAZzM; spf=pass (domain: apple.com, ip: 17.151.62.66, mailfrom: afish@apple.com) Received: from nwk-aaemail-lapp01.apple.com (nwk-aaemail-lapp01.apple.com [17.151.62.66]) by groups.io with SMTP; Thu, 04 Apr 2019 13:12:43 -0700 Received: from pps.filterd (nwk-aaemail-lapp01.apple.com [127.0.0.1]) by nwk-aaemail-lapp01.apple.com (8.16.0.27/8.16.0.27) with SMTP id x34K2J77033615; Thu, 4 Apr 2019 13:12:43 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=apple.com; h=mime-version : content-type : sender : from : subject : date : references : to : in-reply-to : message-id; s=20180706; bh=Y60N/Kki+AUufQAmOKzC+Z2eiUSoLl/R2eu5C9NLSa4=; b=wRnGAZzMebWOBb+0xe/TGcUcvsemF+mnQENkhTi+WLJP0xjlkxPsQtgZ7XQ1ZP/okH5e fr6ISH9IspKxKGorjqkwygpP0WwY/RxKFvZCDHCxcLhbVlGwBaO52h4rYqESabjjX36a C5y6FivZcfCst5r+gLCT1ZWZfDaFPzoSja/WcI3N4z1stZ2UPig6cPmbgzhNYxOVmrjA E/WIiSZ048G/NXpzNx7JApe3ieBXnpqMxO/z9b6fe6LttOQIs4XSUZVg0SHE4DCptCwS RH0MiSRIhPXOsS0fRPcbAyZ18hYNsuoNXm9+EH0SSIQmBRCRr6qI8nOiIpdYxe5eNbeQ Yw== Received: from ma1-mtap-s03.corp.apple.com (ma1-mtap-s03.corp.apple.com [17.40.76.7]) by nwk-aaemail-lapp01.apple.com with ESMTP id 2rmg25d38x-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO); Thu, 04 Apr 2019 13:12:43 -0700 MIME-version: 1.0 Received: from nwk-mmpp-sz13.apple.com (nwk-mmpp-sz13.apple.com [17.128.115.216]) by ma1-mtap-s03.corp.apple.com (Oracle Communications Messaging Server 8.0.2.3.20181024 64bit (built Oct 24 2018)) with ESMTPS id <0PPG0075KDH51OF0@ma1-mtap-s03.corp.apple.com>; Thu, 04 Apr 2019 13:12:42 -0700 (PDT) Received: from process_milters-daemon.nwk-mmpp-sz13.apple.com by nwk-mmpp-sz13.apple.com (Oracle Communications Messaging Server 8.0.2.3.20181024 64bit (built Oct 24 2018)) id <0PPG00H00CGQTC00@nwk-mmpp-sz13.apple.com>; Thu, 04 Apr 2019 13:12:41 -0700 (PDT) X-Va-A: X-Va-T-CD: c01e0da5a1b2c363686fd10c98c9e006 X-Va-E-CD: 741062ba1fafd478fc0525dab04cad1c X-Va-R-CD: 875399ea7acc22cd0b728349e28566db X-Va-CD: 0 X-Va-ID: 70175b01-5652-4c63-8438-7d0090729f54 X-V-A: X-V-T-CD: adba116a933446bf0bfca850aefd636f X-V-E-CD: 741062ba1fafd478fc0525dab04cad1c X-V-R-CD: 875399ea7acc22cd0b728349e28566db X-V-CD: 0 X-V-ID: c6f01379-af94-4109-92b1-20ed792e6a2a X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2019-04-04_11:,, signatures=0 Received: from [17.226.41.11] (unknown [17.226.41.11]) by nwk-mmpp-sz13.apple.com (Oracle Communications Messaging Server 8.0.2.3.20181024 64bit (built Oct 24 2018)) with ESMTPSA id <0PPG004KEDH50R10@nwk-mmpp-sz13.apple.com>; Thu, 04 Apr 2019 13:12:41 -0700 (PDT) Sender: afish@apple.com From: "Andrew Fish" Subject: Re: [edk2-devel] Why is specified -mno-sse on clang x64? Date: Thu, 04 Apr 2019 13:12:38 -0700 References: <2A7A0205-FADC-4E8F-B744-E0B5C476A2C6@apple.com> To: devel@edk2.groups.io, gzibrat@google.com In-reply-to: Message-id: X-Mailer: Apple Mail (2.3445.6.18) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2019-04-04_11:,, signatures=0 Content-type: multipart/alternative; boundary="Boundary_(ID_WAuoJQlwq7d6iq2pTWHg8g)" --Boundary_(ID_WAuoJQlwq7d6iq2pTWHg8g) Content-type: text/plain; CHARSET=US-ASCII Content-transfer-encoding: 7BIT > On Apr 4, 2019, at 1:09 PM, Gary Zibrat via Groups.Io wrote: > > It seems like the "-mno-mmx -msoft-float -mno-implicit-float" part of the flags should be enough to handle that now. > Is it ok to take -mno-sse out (in my local branch) for new versions of clang without having to worry about silent failures? > Since EFIAPI uses the windows ABI, it should be ok to use XMM registers for integer operations. > ' Gary, Conceptually it should be OK. But obviously no one has tested it :). Thanks, Andrew Fish > On Thu, Apr 4, 2019 at 1:00 PM Andrew Fish > wrote: > Gary, > > The edk2 is freestanding UEFI firmware and the runtime does not support floating point exceptions. > > I think a long time ago there was an optimization bug and the -mno-sse fixed it. > > The UEFI x64 ABI is Windows like and not Sys V like. > > Thanks, > > Andrew Fish > >> On Apr 4, 2019, at 10:13 AM, Gary Zibrat via Groups.Io > wrote: >> >> Does anyone know why -mno-sse is specified on Clang x64? >> https://github.com/tianocore/edk2/commit/6f756db5ea057ff10dd168c7627163cec046a3d9 >> There doesn't seem to be a corresponding flag for other compilers. >> >> I ask because a commit in LLVM breaks compilation of EDK2: >> https://reviews.llvm.org/rL357317#change-QSW9B7DqCGUI > > --Boundary_(ID_WAuoJQlwq7d6iq2pTWHg8g) Content-type: text/html; CHARSET=US-ASCII Content-transfer-encoding: quoted-printable
On Apr 4,= 2019, at 1:09 PM, Gary Zibrat via Groups.Io <gzibrat=3Dgoogle.com@groups.io>= wrote:

It seems like the "-mno-mmx -= msoft-float -mno-implicit-float" part of the flags should be enough to hand= le that now.
Is it ok to tak= e -mno-sse out (in my local branch) for new versions of clang without havin= g to worry about silent failures?
Since EF= IAPI uses the windows ABI, it should be ok to use XMM registers for integer= operations.
'

Gary,

Conceptually it should be OK. But obviously no one has tested it :).&= nbsp;

Thanks,

=
Andrew Fish


On Thu, Apr 4,= 2019 at 1:00 PM Andrew Fish <afish@apple.com> wrote:
Gary,
The edk2 is freestanding U= EFI firmware and the runtime does not support floating point exceptions.&nb= sp;

I think a lon= g time ago there was an optimization bug and the -mno-sse fixed it. 

The UEFI x64 ABI i= s Windows like and not Sys V like. 

Thanks,

Andrew Fish

On Apr 4, 2019,= at 10:13 AM, Gary Zibrat via Groups.Io <gzibrat=3Dgoogle.com@groups= .io> wrote:

Does anyone know why -mno-sse is specified on Clang x64?
There doesn't seem to be a corresponding flag = for other compilers.

I ask because a commit in LLVM breaks compilation of EDK= 2:
https://reviews.llvm.org/rL357317#change-QSW9B7= DqCGUI


--Boundary_(ID_WAuoJQlwq7d6iq2pTWHg8g)--