From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=pass header.i=@google.com header.s=20161025 header.b=GP4O+Yxp; spf=pass (domain: google.com, ip: 209.85.166.46, mailfrom: gzibrat@google.com) Received: from mail-io1-f46.google.com (mail-io1-f46.google.com [209.85.166.46]) by groups.io with SMTP; Thu, 04 Apr 2019 10:13:44 -0700 Received: by mail-io1-f46.google.com with SMTP id d201so2641118iof.7 for ; Thu, 04 Apr 2019 10:13:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=rQ/NAWmSud5NVDM8OkD5kPlwwm8hu1jEw8cxFK5i+6k=; b=GP4O+YxpenTwvdX1LGjowmnZoIY1lS1PkgwWDsMpFI0Mbwqxk6qsR37Lg6jcCC26I4 d0u0bqUg0LGIGE334dFaQOEZgvHcTqsLvZwD90/qCNlcGqj5bxOA7Jq24wLIRibcb8lq zWAZ9T4F6eaXbMoMLqrgLG7iJ9jDoC8BGYeyGi91dVCGdH6GRWyrNAH8JyAct5v1khRH e1az1Ea0zBulkvcVqwGMbHW13IBHozZYVFz5cIeN+eunY5auAUWwJPpo1YKdn4K+np9O cFrN2wSrsVaeIpXkmW7q0yF5l72r8fxFZ4OR5VPIjFZJl5JaDlkOLcgK6SAk4DiTzrwv 4PZg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=rQ/NAWmSud5NVDM8OkD5kPlwwm8hu1jEw8cxFK5i+6k=; b=IqIVUNZVLfJ6kQDa/H5jwL217ECmaMM7ItsMy5Jhsfj8eCV/IDZqd53ECH3W09m9tM MGTe2x6Z0mHAD3p7cmPMNgJGlTSzB5WXrp7kUQom/Ts4xmNquLkN0cfAppe7LdKH6FZF w55t7PALVmdwCmnS/Ni/xdrCvx+Lxq+VhzQjsVdPjm57NGf7h/IyTug82EsW2AdWSllD iyxy6pJg9pOF9/Cs1VNtXTZDXUhUgNaj7rBdBb+u0nkmzDOx7bodpBsJHT+/OLh7mnGM dc14H9kqzgoCmXqn2TjeaI71oh58n5ie4vtW9vSrN9iSRCbWWma467TNxA/oDy29Xk+R p1CQ== X-Gm-Message-State: APjAAAU9Gv7j3YzN1ynA7bjnHCgKK45GH1ZJoEQWgl8UGMJR8GDEi7Kk 7tsEq/IvyrCFcDE05K3tdns0MZqsO9WjyrNFsAUZ/J/tOe29CA== X-Google-Smtp-Source: APXvYqzqiZ/s5RetYZZvEcCA1pGsnr7Nqv6YPp/Q/qG36po+LA0DtGsu6skraHuom2NX9M+NteAghGcAQmDBWDArTEg= X-Received: by 2002:a6b:f201:: with SMTP id q1mr5124218ioh.197.1554398023356; Thu, 04 Apr 2019 10:13:43 -0700 (PDT) MIME-Version: 1.0 From: "Gary Zibrat" Date: Thu, 4 Apr 2019 10:13:32 -0700 Message-ID: Subject: Why is specified -mno-sse on clang x64? To: devel@edk2.groups.io Content-Type: multipart/alternative; boundary="00000000000005fa190585b77eb5" --00000000000005fa190585b77eb5 Content-Type: text/plain; charset="UTF-8" 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 --00000000000005fa190585b77eb5 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Does anyone know why -mno-sse is specified on Clang x= 64?
https://github.com/tianocore/edk2/commit/6= f756db5ea057ff10dd168c7627163cec046a3d9
There doesn't= seem to be a corresponding flag for other compilers.

I ask because a commit in LLVM breaks compilation of EDK2:
https://revi= ews.llvm.org/rL357317#change-QSW9B7DqCGUI
--00000000000005fa190585b77eb5-- 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=plyQqdcS; spf=pass (domain: apple.com, ip: 17.171.2.60, mailfrom: afish@apple.com) Received: from ma1-aaemail-dr-lapp01.apple.com (ma1-aaemail-dr-lapp01.apple.com [17.171.2.60]) by groups.io with SMTP; Thu, 04 Apr 2019 13:00:25 -0700 Received: from pps.filterd (ma1-aaemail-dr-lapp01.apple.com [127.0.0.1]) by ma1-aaemail-dr-lapp01.apple.com (8.16.0.27/8.16.0.27) with SMTP id x34JukPk054364; Thu, 4 Apr 2019 13:00:24 -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=0kju+anGhXp0RbIz+vqXWS+KCa2OkH0F5EsSz3g9l1M=; b=plyQqdcSgdf9ZJlbOcrlZO9VXpp3xE2y74sjBltQL+Hdqk417PB+qF1wDwm07OwPb0eH vRgHV4x+7hEyO4Y503UTarlTSmwdHNq6XP/BS+eV2+CrHexyqF2RPiCF8OP252cJcthB Q5bL6Ds3pt4Ylhrwu4mAPfk+ZuQRJCQ2Vt2ZDzQ3ZwrwxmXAjKPvYkdB3d0RfGgIMZiT sVFxJm4EJpt0NUBGUwZ38s+BJNQaqD80MUDA8IRLxCGdqRddUU9Vzld0HrSkvqM9DiOa V+jPzH5LsJuV72fiNQHtESRgzTgfIW7CatXrARGtr1Dz2RF+hiNz/IfjLZLlLcg4knTw IA== Received: from ma1-mtap-s03.corp.apple.com (ma1-mtap-s03.corp.apple.com [17.40.76.7]) by ma1-aaemail-dr-lapp01.apple.com with ESMTP id 2rmg29nppy-24 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO); Thu, 04 Apr 2019 13:00:24 -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 <0PPG00FLGCWE8NF0@ma1-mtap-s03.corp.apple.com>; Thu, 04 Apr 2019 13:00:22 -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 <0PPG00H00CGVTF00@nwk-mmpp-sz13.apple.com>; Thu, 04 Apr 2019 13:00:21 -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: 1ebbb18a-a71b-4b95-a69e-c13f931c9c05 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: 213fd64d-f3e6-4594-a36a-f291a90d868e 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 <0PPG0045BCWJ0R10@nwk-mmpp-sz13.apple.com>; Thu, 04 Apr 2019 13:00:20 -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:00:16 -0700 References: To: devel@edk2.groups.io, gzibrat@google.com In-reply-to: Message-id: <2A7A0205-FADC-4E8F-B744-E0B5C476A2C6@apple.com> 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_n2cpcOcfzz0LOc7B/Lf2gQ)" --Boundary_(ID_n2cpcOcfzz0LOc7B/Lf2gQ) Content-type: text/plain; CHARSET=US-ASCII Content-transfer-encoding: 7BIT 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_n2cpcOcfzz0LOc7B/Lf2gQ) Content-type: text/html; CHARSET=US-ASCII Content-transfer-encoding: quoted-printable Gary,
<= br class=3D"">
The edk2 is freestanding UEFI firmware = and the runtime does not support floating point exceptions. 

I think a long time ago th= ere was an optimization bug and the -mno-sse fixed it. 

The UEFI x64 ABI is Windows lik= e and not Sys V like. 

Thanks,

Andrew Fish

On Apr 4, 2019, at 10:13 AM, Gary Zib= rat via Groups.Io <gzibrat=3Dgoogle.com@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 compi= lers.

I ask because a commit in LLVM breaks compilation of EDK2:
ht= tps://reviews.llvm.org/rL357317#change-QSW9B7DqCGUI

--Boundary_(ID_n2cpcOcfzz0LOc7B/Lf2gQ)-- From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=pass header.i=@google.com header.s=20161025 header.b=ZN0ueO3E; spf=pass (domain: google.com, ip: 209.85.166.52, mailfrom: gzibrat@google.com) Received: from mail-io1-f52.google.com (mail-io1-f52.google.com [209.85.166.52]) by groups.io with SMTP; Thu, 04 Apr 2019 13:09:41 -0700 Received: by mail-io1-f52.google.com with SMTP id n11so3172301ioh.1 for ; Thu, 04 Apr 2019 13:09:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=CrOIW07mSkshTLZKVKk1P3hpPPFg6Lx2bBCBp5vfwu8=; b=ZN0ueO3EgBVqEY7Oj8npyasKdR0rltPWCi6Maq/dnJn8gLOOSuL+LgAd6k9w5+VfEx eew/ctRrARvxVTIVcooy7AfqpLxB2ynytWwyFD2ORM/w7ItnaXfpG+y6S4AM0I7IcrxB VXNBT4HYwZBg4HDS2yasUQP2UL1MSQG7ORfceVEMRKfWQhuxUsuxFgHMJhGaruEdOsuY FUSLMJI0HIEMP8gxzfGYUR66eC1HD3bl8zqrhctLW/x+JISbKHiupWGOu/77h7UW/+7O GWexcPlXEJk9V4UKZG1AsEKfQVe+m2rsTBQsz9lG2XUhAn90bRVsLblGBxMtp064qB6i FZpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=CrOIW07mSkshTLZKVKk1P3hpPPFg6Lx2bBCBp5vfwu8=; b=N+cSS7IUZFvbhzW8AK4FZcUCM+U4GdLrk9YDrPKSwYhbC5la1L4GFkDvT0e0KxKOvP LFxTV02Om5efll7mFJrYWciRLZGIbbNyommAIvql7Q8RyXkb5wrS/GgS53pmnLDS5skd 7eF6sWKz7uEXaLmXwjrsaDIbgZJHO3nrOUblMZXbniXGJSSGvEi4+9ZyeokZJxZ00NQW RioJswTh/qB7dgwk0prEHLarVHI7z/dqpoFYkUp5ouB0k5kbfL0dVzsbTyTqfZ4LKHFA HOq1jT5hqwIcMSfLXd5PCFsRxwkV6zGcc8TlPmfDmkvPVoTMvFk7OEEajzh8ya5mItsH oxBg== X-Gm-Message-State: APjAAAXM0HYbYiQmkl0LhOgMQOW+LpVqDlGETfzxJxpwDHiD0J82husd URv6faFSyNZKbDTSZ3H5Ao8Y2JeaK4HVLzEJT2fUxw== X-Google-Smtp-Source: APXvYqzM977zq7SuXtCs0USe/oTJO6i0BX5FAiCLpIXpZCiFQF2r2OWjy0psEIJkiVlO5gK4I0hY2LYo8vvs97Surpo= X-Received: by 2002:a6b:f201:: with SMTP id q1mr44678ioh.197.1554408580799; Thu, 04 Apr 2019 13:09:40 -0700 (PDT) MIME-Version: 1.0 References: <2A7A0205-FADC-4E8F-B744-E0B5C476A2C6@apple.com> In-Reply-To: <2A7A0205-FADC-4E8F-B744-E0B5C476A2C6@apple.com> From: "Gary Zibrat" Date: Thu, 4 Apr 2019 13:09:29 -0700 Message-ID: Subject: Re: [edk2-devel] Why is specified -mno-sse on clang x64? To: Andrew Fish Cc: devel@edk2.groups.io Content-Type: multipart/alternative; boundary="0000000000004bcde10585b9f3e9" --0000000000004bcde10585b9f3e9 Content-Type: text/plain; charset="UTF-8" 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. 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 < > gzibrat=google.com@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 > > > > --0000000000004bcde10585b9f3e9 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
It seems like the "-mno-mmx -msoft-float -mno-implici= t-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?
<= div>Since EFIAPI uses the windows ABI, it should be ok to use XMM registers= for integer operations.
On Thu, Apr 4, 2019 at 1:00 PM Andrew Fish &= lt;afish@apple.com> wrote:
Gary,

The edk2 is freestanding UEFI = firmware and the runtime does not support floating point exceptions.=C2=A0<= /div>

I think a long time ago there was an optimization = bug and the -mno-sse fixed it.=C2=A0

The UEFI x64 = ABI is Windows like and not Sys V like.=C2=A0

Thanks= ,

Andrew Fish

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

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

I ask becaus= e a commit in LLVM breaks compilation of EDK2:
https://review= s.llvm.org/rL357317#change-QSW9B7DqCGUI

--0000000000004bcde10585b9f3e9-- 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)-- From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=pass header.i=@google.com header.s=20161025 header.b=E7uYJvFe; spf=pass (domain: google.com, ip: 209.85.166.170, mailfrom: gzibrat@google.com) Received: from mail-it1-f170.google.com (mail-it1-f170.google.com [209.85.166.170]) by groups.io with SMTP; Mon, 08 Apr 2019 14:12:16 -0700 Received: by mail-it1-f170.google.com with SMTP id y134so1490222itc.5 for ; Mon, 08 Apr 2019 14:12:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=trvA/UZGnsoLm8nIDLCHdLkYIPNSVT8pmuauEgCI+/M=; b=E7uYJvFe6EuyFwQmKhq/yrelA8enPCbJswoKgZiQqahIn3+SSdVwf1+8/16EEvOymt uBeYqkW1LoFYSKeqVlAGXqkEVAjnlj5hvRUuDEUptS+elWWMsaouybcgBpS6H09uMAzP 0HxJ0BPoPVM+PDrRMaFUimSX8mWnLNQDOBHZLH4jm3cjEWJGsAe1NpBWnmhm8iMICqcQ RCSVkN1YHQojEkbbLBiqyCqrvLyed6nzuPUegITkvM43tkK9RkYOD8zV+yHp15mbTv5+ oByWYsVOMO8CUPLAqh5JCyuAnZl5yWrmbeL50PTI0IyalrRns9syGv7dYH+J62dELnlK ZSKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=trvA/UZGnsoLm8nIDLCHdLkYIPNSVT8pmuauEgCI+/M=; b=DYrQwfwvqdN+dRbpTfHQyrRs4IHV1RVT4tdakn+2fsyoBgRDabYBpD9ThJN4/igqMs A4cfW/ifj3ZMfqLLDM3UzAgVNXyZSvlsexl+tSA4zMHNCea2cZcfSWCc7TBE/k+IntM4 kuZN1yJeLwjwJnwYDQnKeRkTQZB9EufZhKAU3kLOd8bIGQqz+9JonMD23ZHSpQBBm4aW 49vMRz8zj5zS9qIvn8pazeY7wq3L6KfhyNhtbDRn8RRxhB4E9KKHTPJSqdM5Yyo/iIbu 6AVAAaAbEYbep+Vc0BqQ7j2ePm4wk1VEvkRsgiFi93Rit32Go0BzYyoci4BUaTZrR98D 4JKA== X-Gm-Message-State: APjAAAXUilYrTps3zWBlfqmYEvT1omWgW31XNvy8H3U/x5yi7k3HeRWI OIqSxseRrA/5KC59ePZskfkPxsmgUm8zfB3y/S4KPw== X-Google-Smtp-Source: APXvYqxqC0bFLj0RPHP90jiZuS8xjqUMY0a206cyT8vIAgNBq9FmBr3rWz1o8QfQbrUYA9jYotm/zXCmsi8FSNc7Zok= X-Received: by 2002:a24:c544:: with SMTP id f65mr22362289itg.90.1554757935259; Mon, 08 Apr 2019 14:12:15 -0700 (PDT) MIME-Version: 1.0 References: <2A7A0205-FADC-4E8F-B744-E0B5C476A2C6@apple.com> In-Reply-To: From: "Gary Zibrat" Date: Mon, 8 Apr 2019 14:12:04 -0700 Message-ID: Subject: Re: [edk2-devel] Why is specified -mno-sse on clang x64? To: Andrew Fish Cc: devel@edk2.groups.io Content-Type: multipart/alternative; boundary="00000000000071a94a05860b4ad4" --00000000000071a94a05860b4ad4 Content-Type: text/plain; charset="UTF-8" I've messed around with it locally and nothing seemed to stop working. Would there be any interest in adding a newer clang configuration with -mno-sse removed? On Thu, Apr 4, 2019 at 1:12 PM Andrew Fish wrote: > > > On Apr 4, 2019, at 1:09 PM, Gary Zibrat via Groups.Io < > gzibrat=google.com@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 < >> gzibrat=google.com@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 >> >> >> > > > --00000000000071a94a05860b4ad4 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
I've messed around with it locally and nothing seemed = to stop working.
Would there be any interest in adding a newer clang co= nfiguration with -mno-sse removed?

On Thu, Apr 4, 2019 at 1:12 PM Andr= ew Fish <afish@apple.com> wrot= e:


On= Apr 4, 2019, at 1:09 PM, Gary Zibrat via Groups.Io <gzibrat=3Dgoogle.com@group= s.io> wrote:

It seems like the &q= uot;-mno-mmx -msoft-float -mno-implicit-float" part of the flags shoul= d 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 abo= ut silent failures?
Since EFIAPI uses the windows ABI= , it should be ok to use XMM registers for integer operations.
&= #39;

Gary,
<= div>
Conceptually it should be OK. But obviously no one has t= ested it :).=C2=A0

Thanks,

Andrew Fish


= On Thu, Apr 4, 2019 at 1:00 PM Andrew Fish <afish@apple.com> wrote:
Gary,

The e= dk2 is freestanding UEFI firmware and the runtime does not support floating= point exceptions.=C2=A0

I think a long time ago t= here was an optimization bug and the -mno-sse fixed it.=C2=A0
The UEFI x64 ABI is Windows like and not Sys V like.=C2=A0
<= div>
Thanks,

Andrew Fish
On Apr 4, 2019, at 10:13 AM, Gary Zibrat vi= a 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 comp= ilers.

I ask because a commit in LLVM breaks c= ompilation of EDK2:
https://reviews.llvm.org/rL357317#change-= QSW9B7DqCGUI


--00000000000071a94a05860b4ad4--