From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=pass header.i=@linaro.org header.s=google header.b=sZ3pHXDj; spf=pass (domain: linaro.org, ip: 209.85.128.68, mailfrom: baptiste.gerondeau@linaro.org) Received: from mail-wm1-f68.google.com (mail-wm1-f68.google.com [209.85.128.68]) by groups.io with SMTP; Thu, 19 Sep 2019 03:34:49 -0700 Received: by mail-wm1-f68.google.com with SMTP id m18so904998wmc.1 for ; Thu, 19 Sep 2019 03:34:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=pC/nPeO8EH9dYJfKhRJ7JX6qm9Mk6MUBgDyrTotUKDc=; b=sZ3pHXDjtavpuc8GOjOYW+2Me691Mspecep0V3A6zsgqcmQikxSbDntXqmT7cpdV9r iT3cTdAXaLdOFbif41oMBvV25AC0ZUKh8jZ6ixO566zU+bnKyaWhK1Wb/6YR9GS0uHfK nGwPWOdFh/XuRHdZDLupCNzde4q8neMuOPUrEdESw5iiVjZ+woylYesQPVK3e4dA2EzK yjeJ57//C3D5tyZ4terQI1rLxXaAkzDjm1XBpcxYpydr2clRlfYOwmyfz5e8+h8vCDa/ /izQqX07Cw0TdH8+stRimgoW7ySv0K2pwNgCmLO03x7lPnmc2lTrnWT3Dzyc/j63PWmx ugcw== 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=pC/nPeO8EH9dYJfKhRJ7JX6qm9Mk6MUBgDyrTotUKDc=; b=gcAjcP+8POwDO29BFxj9KL0e+T46C0UiZo4TC4L+fGeug1Y4x/YmhgcyoecM9zC2OH ahZqR3B3YEYT+JbMl2wUnlSwaZRTt85oMRP5xbSf3MN+wUyc1/04j8px3Em3LjYVUt35 gqebKdveC3SspSQCSi9Y7Ht7Fx179qnR3wHUema4FPn+a8Kz+YK28jWVz4det/SZx/Rg lxQs/Z6ARkNh7tGgCXwkaEaBuwrpQ3W8Ql9I1GqLBfR4fGJShO1yl/jofdXiiNOp9viT CQQYA4GTj+NsR4rifagXmBOnysOHlboC42O4rBhbs5cCFotBfbXfSLkvUCwQ16hlKNws ug9A== X-Gm-Message-State: APjAAAW1KGv3Qa09+vqzPp3p6sqren2VwARRzFQNM4hKrCJAyRx2BcdE T/A2DxcQnrO3NuA95d0UFs/w3KNqZeuqDnyB7ElyVA== X-Google-Smtp-Source: APXvYqyXzuUeAaKkaglA5jl63ECAUiKmCKUFbZmoGv9od0LzBlp9sfhPYVQHy5GkikHRpxDU0fjplwbSzyCtDotyF94= X-Received: by 2002:a1c:f602:: with SMTP id w2mr2118163wmc.145.1568889288089; Thu, 19 Sep 2019 03:34:48 -0700 (PDT) MIME-Version: 1.0 References: <0d024d72b50b7f5a6d3d908d309810f350c5b1f5.1568808805.git.baptiste.gerondeau@linaro.org> <20190919094846.GO28454@bivouac.eciton.net> <20190919100921.GR28454@bivouac.eciton.net> In-Reply-To: From: "Baptiste Gerondeau" Date: Thu, 19 Sep 2019 12:34:36 +0200 Message-ID: Subject: Re: [PATCH 2/3] ARM/Assembler: Correct syntax from RVCT for MSFT To: Ard Biesheuvel Cc: Leif Lindholm , edk2-devel-groups-io , "Kinney, Michael D" , "Gao, Liming" , "Zhang, Shenglei" , Baptiste GERONDEAU Content-Type: multipart/alternative; boundary="000000000000b57a700592e580b8" --000000000000b57a700592e580b8 Content-Type: text/plain; charset="UTF-8" > > > > > > So is this simply the default of the compiler? I'd prefer it if we > > > could add a 'CODE 32' directive instead, that way, we may not need any > > > of the other changes to begin with. > > Oh, and the CODE 32 directive is not supported - it's ARM or THUMB :) > https://docs.microsoft.com/en-us/cpp/assembler/arm/arm-assembler-directives?view=vs-2019 > I can confirm that CODE 32 (or CODE32) does not work/does not allow the barrel shifting to be assembled... > > > This one, possible - Baptiste? > > > The unconditional str ? From what I understand, we drop the cmp and drop the ldr/str of lr_svc and only keep those for lr_usr, right ? > > > OK. > > In any case, I'd strongly prefer it if the .S and .asm files produced > identical object code, so please apply the same changes to the sibling > .S files as well, please (but only the ones that are really required > when building it in ARM mode) > ACK ! Will mirror changes to asm on S files (on separate commit, right ?) I'm only touching the files VS2019 as a problem with on the ARM build anyways (this is what you meant by "really required" right ?) -- Baptiste Gerondeau Engineer - HPC SIG - LDCG - Linaro #irc : BaptisteGer --000000000000b57a700592e580b8 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


> > So is this simply the default of the compiler? I'd prefer it = if we
> > could add a 'CODE 32' directive instead, that way, we may= not need any
> > of the other changes to begin with.

> Oh, and the CODE 32 directive is not supported - it's ARM or THU= MB :)
> https= ://docs.microsoft.com/en-us/cpp/assembler/arm/arm-assembler-directives?view= =3Dvs-2019
>

I can confirm that COD= E 32 (or CODE32) does not work/does not allow the barrel shifting to be ass= embled...
=C2=A0
=
> This one, possible - Baptiste?
>

The unconditional str ? From what = I understand, we drop the cmp and drop the ldr/str of lr_svc and only keep = those for lr_usr, right ?
=C2=A0


OK.

In any case, I'd strongly prefer it if the .S and .asm files produced identical object code, so please apply the same changes to the sibling
.S files as well, please (but only the ones that are really required
when building it in ARM mode)

ACK ! Will mirror ch= anges to asm on S files (on separate commit, right ?)
I'm only touch= ing the files VS2019 as a problem with on the ARM build anyways (this is wh= at you meant by "really required" right ?)

-- =
Baptiste Gerondeau
Engineer - HPC SIG - LDCG -= Linaro
#irc : BaptisteGer

--000000000000b57a700592e580b8--