<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>210639</bug_id>
          
          <creation_ts>2020-04-16 23:40:27 -0700</creation_ts>
          <short_desc>offlineasm is generating the wrong load/store for the &quot;orh&quot; instruction.</short_desc>
          <delta_ts>2020-04-17 12:27:20 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>210665</dependson>
          <blocked>207330</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>angelos</cc>
    
    <cc>fpizlo</cc>
    
    <cc>guijemont</cc>
    
    <cc>keith_miller</cc>
    
    <cc>msaboff</cc>
    
    <cc>pmatos</cc>
    
    <cc>rmorisset</cc>
    
    <cc>saam</cc>
    
    <cc>ticaiolima</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1642586</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-04-16 23:40:27 -0700</bug_when>
    <thetext>For example, on ARM64E, it was generating the following:

    &quot;\tldr w17, [x1, #0]\n&quot;                                  // JavaScriptCore/llint/LowLevelInterpreter64.asm:919
    &quot;\torr w17, w17, #64\n&quot;                                  // JavaScriptCore/llint/LowLevelInterpreter64.asm:919
    &quot;\tstr w17, [x1, #0]\n&quot;                                  // JavaScriptCore/llint/LowLevelInterpreter64.asm:919

i.e. a 32-bit load, followed by a 32-bit OR, followed by a 32-bit store.

Instead, it should be generating the following:

    &quot;\tldrh w17, [x1, #0]\n&quot;                                 // JavaScriptCore/llint/LowLevelInterpreter64.asm:919
    &quot;\torr w17, w17, #64\n&quot;                                  // JavaScriptCore/llint/LowLevelInterpreter64.asm:919
    &quot;\tstrh w17, [x1, #0]\n&quot;                                 // JavaScriptCore/llint/LowLevelInterpreter64.asm:919

i.e. a 16-bit load, followed by a 32-bit OR, followed by a 16-bit store.

This bug also affects ARM64, ARMv7, and MIPS (basically any backend that uses riscLowerMisplacedAddresses() from rise.rb).
It does not affect x86, x86_64, and C_LOOP (which was written based on x86).

&lt;rdar://problem/21501876&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1642587</commentid>
    <comment_count>1</comment_count>
      <attachid>396743</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-04-16 23:49:48 -0700</bug_when>
    <thetext>Created attachment 396743
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1642602</commentid>
    <comment_count>2</comment_count>
      <attachid>396743</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2020-04-17 01:25:36 -0700</bug_when>
    <thetext>Comment on attachment 396743
proposed patch.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1642665</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-04-17 07:39:50 -0700</bug_when>
    <thetext>Thanks for the review.  Landed in r260246: &lt;http://trac.webkit.org/r260246&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396743</attachid>
            <date>2020-04-16 23:49:48 -0700</date>
            <delta_ts>2020-04-17 01:25:36 -0700</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-210639.patch</filename>
            <type>text/plain</type>
            <size>3515</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjYwMjM3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBA
CisyMDIwLTA0LTE2ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBv
ZmZsaW5lYXNtIGlzIGdlbmVyYXRpbmcgdGhlIHdyb25nIGxvYWQvc3RvcmUgZm9yIHRoZSAib3Jo
IiBpbnN0cnVjdGlvbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxMDYzOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjE1MDE4NzY+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRm9yIGV4YW1wbGUsIG9u
IEFSTTY0RSwgdGhlICJvcmgiIGluc3RydWN0aW9uIHdhcyBnZW5lcmF0aW5nIHRoZSBmb2xsb3dp
bmc6CisKKyAgICAgICAgICAgICJcdGxkciB3MTcsIFt4MSwgIzBdXG4iICAgICAvLyBKYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkxOQorICAgICAgICAgICAg
Ilx0b3JyIHcxNywgdzE3LCAjNjRcbiIgICAgIC8vIEphdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206OTE5CisgICAgICAgICAgICAiXHRzdHIgdzE3LCBbeDEsICMw
XVxuIiAgICAgLy8gSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo5MTkKKworICAgICAgICBpLmUuIGEgMzItYml0IGxvYWQsIGZvbGxvd2VkIGJ5IGEgMzItYml0
IE9SLCBmb2xsb3dlZCBieSBhIDMyLWJpdCBzdG9yZS4KKworICAgICAgICBJbnN0ZWFkLCBpdCBz
aG91bGQgYmUgZ2VuZXJhdGluZyB0aGUgZm9sbG93aW5nOgorCisgICAgICAgICAgICAiXHRsZHJo
IHcxNywgW3gxLCAjMF1cbiIgICAgLy8gSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo5MTkKKyAgICAgICAgICAgICJcdG9yciB3MTcsIHcxNywgIzY0XG4iICAg
ICAvLyBKYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkxOQor
ICAgICAgICAgICAgIlx0c3RyaCB3MTcsIFt4MSwgIzBdXG4iICAgIC8vIEphdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTE5CisKKyAgICAgICAgaS5lLiBhIDE2
LWJpdCBsb2FkLCBmb2xsb3dlZCBieSBhIDMyLWJpdCBPUiwgZm9sbG93ZWQgYnkgYSAxNi1iaXQg
c3RvcmUuCisKKyAgICAgICAgVGhpcyBidWcgYWxzbyBhZmZlY3RzIEFSTTY0LCBBUk12NywgYW5k
IE1JUFMgKGJhc2ljYWxseSBhbnkgYmFja2VuZCB0aGF0IHVzZXMKKyAgICAgICAgcmlzY0xvd2Vy
TWlzcGxhY2VkQWRkcmVzc2VzKCkgZnJvbSByaXNlLnJiKS4gIEl0IGRvZXMgbm90IGFmZmVjdCB4
ODYsIHg4Nl82NCwgYW5kCisgICAgICAgIENfTE9PUCAod2hpY2ggd2FzIHdyaXR0ZW4gYmFzZWQg
b24geDg2KS4KKworICAgICAgICAqIG9mZmxpbmVhc20vcmlzYy5yYjoKKwogMjAyMC0wNC0xNiAg
Um9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29ueS5jb20+CiAKICAgICAgICAgUkVHUkVT
U0lPTihyMjU5NDgwKTogVHdvIG5ldyBmYWlsaW5nIGkxOG4gdGVzdHMKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL3Jpc2MucmIKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL29mZmxpbmVhc20vcmlzYy5yYgkocmV2aXNpb24gMjYwMjM3KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vcmlzYy5yYgkod29ya2luZyBjb3B5KQpAQCAt
MSw0ICsxLDQgQEAKLSMgQ29weXJpZ2h0IChDKSAyMDExLTIwMTggQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorIyBDb3B5cmlnaHQgKEMpIDIwMTEtMjAyMCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAjCiAjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogIyBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTQ2MiwxMiAr
NDYyLDE3IEBAIGRlZiByaXNjTG93ZXJNaXNwbGFjZWRBZGRyZXNzZXMobGlzdCkKICAgICAgICAg
ICAgIHBvc3RJbnN0cnVjdGlvbnMgPSBbXQogICAgICAgICAgICAgYW5ub3RhdGlvbiA9IG5vZGUu
YW5ub3RhdGlvbgogICAgICAgICAgICAgY2FzZSBub2RlLm9wY29kZQotICAgICAgICAgICAgd2hl
biAiYWRkaSIsICJhZGRpcyIsICJhbmRpIiwgImxzaGlmdGkiLCAibXVsaSIsICJuZWdpIiwgIm5v
dGkiLCAib3JpIiwgIm9yaCIsICJvcmlzIiwKKyAgICAgICAgICAgIHdoZW4gImFkZGkiLCAiYWRk
aXMiLCAiYW5kaSIsICJsc2hpZnRpIiwgIm11bGkiLCAibmVnaSIsICJub3RpIiwgIm9yaSIsICJv
cmlzIiwKICAgICAgICAgICAgICAgICAicnNoaWZ0aSIsICJ1cnNoaWZ0aSIsICJzdWJpIiwgInN1
YmlzIiwgInhvcmkiLCAvXmJpLywgL15idGkvLCAvXmNpLywgL150aS8KICAgICAgICAgICAgICAg
ICBuZXdMaXN0IDw8IEluc3RydWN0aW9uLm5ldyhub2RlLmNvZGVPcmlnaW4sCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZS5vcGNvZGUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlzY0FzUmVnaXN0ZXJzKG5ld0xpc3Qs
IHBvc3RJbnN0cnVjdGlvbnMsIG5vZGUub3BlcmFuZHMsICJpIiksCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5ub3RhdGlvbikKKyAgICAgICAgICAgIHdoZW4g
Im9yaCIKKyAgICAgICAgICAgICAgICBuZXdMaXN0IDw8IEluc3RydWN0aW9uLm5ldyhub2RlLmNv
ZGVPcmlnaW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9k
ZS5vcGNvZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlz
Y0FzUmVnaXN0ZXJzKG5ld0xpc3QsIHBvc3RJbnN0cnVjdGlvbnMsIG5vZGUub3BlcmFuZHMsICJo
IiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5ub3RhdGlv
bikKICAgICAgICAgICAgIHdoZW4gImFkZHAiLCAiYW5kcCIsICJsc2hpZnRwIiwgIm11bHAiLCAi
bmVncCIsICJvcnAiLCAicnNoaWZ0cCIsICJ1cnNoaWZ0cCIsCiAgICAgICAgICAgICAgICAgInN1
YnAiLCAieG9ycCIsIC9eYnAvLCAvXmJ0cC8sIC9eY3AvCiAgICAgICAgICAgICAgICAgbmV3TGlz
dCA8PCBJbnN0cnVjdGlvbi5uZXcobm9kZS5jb2RlT3JpZ2luLAo=
</data>
<flag name="review"
          id="412156"
          type_id="1"
          status="+"
          setter="rmorisset"
    />
          </attachment>
      

    </bug>

</bugzilla>