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--