From 2973ba786de69a73026473874d08937415702d63 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 16 Apr 2024 09:51:09 +0800 Subject: [PATCH] llvm: Update baseline to 2e26ee9dce32d12ffa9bfb7f7d3e97778f0b7a75 --- llvm/llvm-project | 2 +- result/rvb23u64/0026c210d1366977.S | 4 +-- result/rvb23u64/006e735500ebc60d.S | 5 +-- result/rvb23u64/008d8f68435d6a1b.S | 12 ++++---- result/rvb23u64/00fee3703417590c.S | 9 +++--- result/rvb23u64/011e68a5a7471648.S | 11 +++---- result/rvb23u64/01d29debedf5fbca.S | 6 ++-- result/rvb23u64/01ed80ea71e0c3a1.S | 4 +-- result/rvb23u64/01f051333e1a8c8a.S | 5 +-- result/rvb23u64/02bf2e847922788f.S | 4 +-- result/rvb23u64/02f6183fa63dc165.S | 5 +-- result/rvb23u64/035c571d4dd6ccae.S | 20 ++++++------ result/rvb23u64/03b69d5e430fdfa7.S | 16 ++++++---- result/rvb23u64/040e4fa3c63b7a5c.S | 5 ++- result/rvb23u64/05805739bc6fffbc.S | 6 ++-- result/rvb23u64/05d7c5c47cecd3f4.S | 2 +- result/rvb23u64/05f09640d7ccff8a.S | 4 +-- result/rvb23u64/05ff1412db0532f3.S | 8 ++--- result/rvb23u64/0643e227e76733df.S | 8 +++-- result/rvb23u64/06473dc9ff96cea2.S | 4 +-- result/rvb23u64/070bb2c95affb060.S | 8 ++--- result/rvb23u64/07500989a1f31aaa.S | 4 +-- result/rvb23u64/07ae12574be28780.S | 10 +++--- result/rvb23u64/07f6bc175eb44ca0.S | 4 +-- result/rvb23u64/083a58abdb5c4709.S | 4 +-- result/rvb23u64/093eb28b11572b79.S | 12 ++++---- result/rvb23u64/09644b5da4efef0e.S | 4 +-- result/rvb23u64/0a2da400a5e0da4b.S | 4 +-- result/rvb23u64/0ac87b2eb98d4759.S | 5 +-- result/rvb23u64/0ae344397e454296.S | 4 +-- result/rvb23u64/0b34d0f6248047df.S | 4 +-- result/rvb23u64/0b6a3f21eb004c78.S | 8 ++--- result/rvb23u64/0bf21f77cae8f585.S | 15 ++++----- result/rvb23u64/0c1308ced5dfa2c0.S | 4 +-- result/rvb23u64/0c5084505e8d0c3c.S | 4 +-- result/rvb23u64/0cbde5b30d0bfd5c.S | 8 ++--- result/rvb23u64/0cd219b16338e0d7.S | 5 +-- result/rvb23u64/0d25e70bf5ca7f84.S | 4 +-- result/rvb23u64/0d61fe8597e32536.S | 5 +-- result/rvb23u64/0d85c3c9c546043e.S | 5 +-- result/rvb23u64/0f064e8ac89079df.S | 8 +++-- result/rvb23u64/0f9e3b1789af814b.S | 4 +-- result/rvb23u64/0faae2401cd1ba65.S | 14 ++++----- result/rvb23u64/0fb874e6a696d54d.S | 4 +-- result/rvb23u64/0fc98d8c128d1507.S | 2 +- result/rvb23u64/1048d0e7f8c89877.S | 4 +-- result/rvb23u64/10657dd8ab7112b6.S | 4 +-- result/rvb23u64/10b92800de9f4645.S | 4 +-- result/rvb23u64/10d32078dc9ab93f.S | 8 ++--- result/rvb23u64/118d3ceaec86d74f.S | 4 +-- result/rvb23u64/11c1249e955bc3b7.S | 4 +-- result/rvb23u64/11ec19dcb157c053.S | 4 +-- result/rvb23u64/1251aea86d1cd7d4.S | 5 +-- result/rvb23u64/12ae2bd7c8ed7c42.S | 4 +-- result/rvb23u64/12f8ffa877e7f8bf.S | 8 ++--- result/rvb23u64/131362498e4e6c7c.S | 4 +-- result/rvb23u64/1331cff0898d22f2.S | 4 +-- result/rvb23u64/13ac3b8c92d45eee.S | 4 +-- result/rvb23u64/13c15559e86b0933.S | 8 +++-- result/rvb23u64/145bf494d514395d.S | 4 +-- result/rvb23u64/148d0a8b8b472b6e.S | 4 +-- result/rvb23u64/15008b6ad9a37a71.S | 4 +-- result/rvb23u64/1550242bcd4ccc6b.S | 5 +-- result/rvb23u64/1572a89f3b15dbbf.S | 4 +-- result/rvb23u64/16c400f9cc75206b.S | 16 ++++++---- result/rvb23u64/1773a08f00f8ff77.S | 4 +-- result/rvb23u64/178c3e60eab2df00.S | 8 +++-- result/rvb23u64/17bff90ac0b9a1f3.S | 5 ++- result/rvb23u64/17c39492317951b1.S | 4 +-- result/rvb23u64/18262fb2e54f7d52.S | 5 +-- result/rvb23u64/18445571b5de83b0.S | 2 +- result/rvb23u64/1889529f40beffed.S | 4 +-- result/rvb23u64/188d097d9ec61ed8.S | 10 +++--- result/rvb23u64/1a5bca965fda8c68.S | 12 ++++---- result/rvb23u64/1ad9224245fc4102.S | 4 +-- result/rvb23u64/1ae98b2538d64159.S | 4 +-- result/rvb23u64/1b1f977d42e61f59.S | 5 ++- result/rvb23u64/1b2765f52954345a.S | 5 ++- result/rvb23u64/1b8c155477cc40fb.S | 5 +-- result/rvb23u64/1ba94a3baa82c005.S | 5 +-- result/rvb23u64/1bd4f2a94d98042e.S | 4 +-- result/rvb23u64/1ca3198bb42b6bde.S | 4 +-- result/rvb23u64/1d5c5c25dc55ade1.S | 4 +-- result/rvb23u64/1d62f997aaeb6da1.S | 5 ++- result/rvb23u64/1d6b884b1cb8e62d.S | 4 +-- result/rvb23u64/1d9254d762ffcea8.S | 30 ++++++++++-------- result/rvb23u64/1e159aa7b99cb12a.S | 15 ++++----- result/rvb23u64/1e6e429d009f62d2.S | 10 +++--- result/rvb23u64/1e72fd802bfbdd02.S | 5 ++- result/rvb23u64/1e788a954433ebda.S | 5 +-- result/rvb23u64/1ee1a4add9c67a89.S | 5 +-- result/rvb23u64/1eef903dfefdcbb5.S | 5 +-- result/rvb23u64/1f1c651fc7ee0ff1.S | 5 +-- result/rvb23u64/1f3764ed07de1ec5.S | 6 ++-- result/rvb23u64/1f4fb52edffb28e1.S | 5 ++- result/rvb23u64/1f6959806693918a.S | 4 +-- result/rvb23u64/1f7e955e2facefd0.S | 10 +++--- result/rvb23u64/2082cf6de7701357.S | 5 +-- result/rvb23u64/20ef89f96d9e1a7f.S | 4 +-- result/rvb23u64/210c5fc0dbf7be3e.S | 4 +-- result/rvb23u64/2135d9c5ca796b04.S | 4 +-- result/rvb23u64/21423d59149f1337.S | 4 +-- result/rvb23u64/2195ded63bc50be4.S | 4 +-- result/rvb23u64/21971f19c6a6c294.S | 4 +-- result/rvb23u64/22de26004c0b685e.S | 4 +-- result/rvb23u64/235ff0ce250d5dec.S | 4 +-- result/rvb23u64/237babed87dae622.S | 5 +-- result/rvb23u64/24afa6e42649f390.S | 4 +-- result/rvb23u64/24e7e9c80b590c1f.S | 28 ++++++++--------- result/rvb23u64/251ae5793a10903f.S | 4 +-- result/rvb23u64/2566b808a29d05ac.S | 6 ++-- result/rvb23u64/25dd8f97df590573.S | 32 +++++++++++-------- result/rvb23u64/263709fd1e17144e.S | 5 +-- result/rvb23u64/268f4d81393043b3.S | 8 +++-- result/rvb23u64/269038fa10c1be62.S | 4 +-- result/rvb23u64/26bdb631362ecc3e.S | 12 ++++---- result/rvb23u64/26c799127358350e.S | 4 +-- result/rvb23u64/27261642a1c8fc9f.S | 16 +++++----- result/rvb23u64/2767cf928208c187.S | 4 +-- result/rvb23u64/278f3466d523778e.S | 4 +-- result/rvb23u64/280c9049a79cd219.S | 5 +-- result/rvb23u64/2822abd36fcc97da.S | 4 +-- result/rvb23u64/2826f2cfe6328cff.S | 8 +++-- result/rvb23u64/282f893e11554363.S | 6 ++-- result/rvb23u64/284ac01146b28f18.S | 9 +++--- result/rvb23u64/285a332574837d57.S | 2 +- result/rvb23u64/28637a33dfd6dd14.S | 4 +-- result/rvb23u64/28d387bcfe57c2d3.S | 6 ++-- result/rvb23u64/297594571275e0ca.S | 8 ++--- result/rvb23u64/29a4c2372df3c6c2.S | 5 +-- result/rvb23u64/2a46b839d56d498b.S | 4 +-- result/rvb23u64/2b83924902010312.S | 16 +++++----- result/rvb23u64/2b94c6f43baea247.S | 8 ++--- result/rvb23u64/2c4c63fb74b7a89a.S | 9 +++--- result/rvb23u64/2c92f259f2b68399.S | 5 ++- result/rvb23u64/2d07a8747ff152e5.S | 5 ++- result/rvb23u64/2d0cce38bfe35b1d.S | 5 +-- result/rvb23u64/2d18b004e0b53dba.S | 5 +-- result/rvb23u64/2dc01e42383ea36b.S | 4 +-- result/rvb23u64/2e0e0f232bf202c1.S | 4 +-- result/rvb23u64/2e107a4c7fef995f.S | 6 ++-- result/rvb23u64/2ea6fcdec80aa6c9.S | 4 +-- result/rvb23u64/2ec3809f58031c87.S | 13 ++++---- result/rvb23u64/2fc4dfaff3f047c3.S | 5 +-- result/rvb23u64/307bfe97f51235ab.S | 4 +-- result/rvb23u64/30872e5192d470e0.S | 19 +++++++----- result/rvb23u64/308a73e37a58d3ab.S | 5 +-- result/rvb23u64/30a7bca48bdee369.S | 8 +++-- result/rvb23u64/30eade863f038f8c.S | 5 +-- result/rvb23u64/31028b1e32943986.S | 2 +- result/rvb23u64/31a23e4e38d0ee73.S | 5 ++- result/rvb23u64/31ec73e850886612.S | 6 ++-- result/rvb23u64/32573a4b7c4d8f72.S | 5 +-- result/rvb23u64/32eb34857b726d25.S | 4 +-- result/rvb23u64/32fc89c5b5ecd63f.S | 12 ++++---- result/rvb23u64/334b6ce2b34daf4a.S | 5 +-- result/rvb23u64/334cbc7e410d7a46.S | 5 +-- result/rvb23u64/33c0327b2929d0d8.S | 5 +-- result/rvb23u64/33c785fa246972b0.S | 4 +-- result/rvb23u64/33e48ff6982fa853.S | 8 +++-- result/rvb23u64/33f81125a4d8b892.S | 8 ++--- result/rvb23u64/3419e53e0a081502.S | 5 +-- result/rvb23u64/34dc55ae6c622380.S | 4 +-- result/rvb23u64/358c0c0b970ad387.S | 10 +++--- result/rvb23u64/35c96f9cc50db4d9.S | 5 +-- result/rvb23u64/3603f6e7d0303ef5.S | 5 +-- result/rvb23u64/3643c9eb9926feff.S | 4 +-- result/rvb23u64/36a16dc4d462e1b4.S | 3 +- result/rvb23u64/36b17962fdef82dd.S | 8 ++--- result/rvb23u64/37bc1c2a2a31b463.S | 4 +-- result/rvb23u64/38e55d51a60e2e51.S | 23 ++++++-------- result/rvb23u64/393143670894b2cc.S | 5 +-- result/rvb23u64/393873742ed39fe7.S | 4 +-- result/rvb23u64/3988f2fb4c36f7e8.S | 8 +++-- result/rvb23u64/39b1144ebb70e702.S | 8 ++--- result/rvb23u64/39daf5749e79d4a3.S | 10 +++--- result/rvb23u64/39e3cf62de860e41.S | 7 +++-- result/rvb23u64/3a06f0351c40354b.S | 4 +-- result/rvb23u64/3a2090e1b55ddd2a.S | 4 +-- result/rvb23u64/3b6d60a90ed207df.S | 4 +-- result/rvb23u64/3bdeeb9e8bf48a24.S | 4 +-- result/rvb23u64/3bf8b7b4e85cb61c.S | 13 ++++---- result/rvb23u64/3bfe232dc9823e58.S | 4 +-- result/rvb23u64/3c09cebeb099820d.S | 4 +-- result/rvb23u64/3c3a2de1d4d7af37.S | 2 +- result/rvb23u64/3c99e6e2e3ebdb6c.S | 8 +++-- result/rvb23u64/3cb7610dc438f20c.S | 4 +-- result/rvb23u64/3d172490eeb15193.S | 8 +++-- result/rvb23u64/3d1ca88d019d27e2.S | 8 +++-- result/rvb23u64/3d5334ad62ccdf69.S | 5 +-- result/rvb23u64/3daecd1864373d65.S | 8 +++-- result/rvb23u64/3dd941fb1df778f9.S | 8 ++--- result/rvb23u64/3e88927b171b865b.S | 5 +-- result/rvb23u64/3e98fc4d65fb31e8.S | 15 +++++---- result/rvb23u64/3f08164175ac485c.S | 8 +++-- result/rvb23u64/3f1f06105e7d8351.S | 12 ++++---- result/rvb23u64/3f2f9976c425dc97.S | 5 +-- result/rvb23u64/3f98e510f9493a86.S | 4 +-- result/rvb23u64/400fd773874847c4.S | 16 ++++++---- result/rvb23u64/406d0ea074720266.S | 10 +++--- result/rvb23u64/407cc4fc7fb06f24.S | 4 +-- result/rvb23u64/40fb6de66a2546f7.S | 2 +- result/rvb23u64/4126e72d89322028.S | 7 +++-- result/rvb23u64/4213203389bbfa4c.S | 5 +-- result/rvb23u64/4222d4e33fddc405.S | 4 +-- result/rvb23u64/4225ee1a78f621ec.S | 4 +-- result/rvb23u64/42befe44e00d5392.S | 4 +-- result/rvb23u64/43a510895c2b4498.S | 2 +- result/rvb23u64/44963c3c9024bbfd.S | 4 +-- result/rvb23u64/451c135ef46808be.S | 9 +++--- result/rvb23u64/45c08ac9ae6a6870.S | 16 ++++++---- result/rvb23u64/462c29f949ae982c.S | 4 +-- result/rvb23u64/467649e1945de86e.S | 15 ++++----- result/rvb23u64/478db72aace4e5df.S | 10 +++--- result/rvb23u64/48683106e4944a0c.S | 2 +- result/rvb23u64/488e351ba86ffd03.S | 10 +++--- result/rvb23u64/48a59ebf3232a228.S | 8 ++--- result/rvb23u64/491233976c5bf62f.S | 8 +++-- result/rvb23u64/494bb69e24212a58.S | 6 ++-- result/rvb23u64/49a8188216a57bb8.S | 4 +-- result/rvb23u64/49c6d09d535a8e83.S | 4 +-- result/rvb23u64/4a49c68dd7d9e3da.S | 9 +++--- result/rvb23u64/4a78df77c7b6d86d.S | 19 +++++++----- result/rvb23u64/4a8fb27ba378bd40.S | 4 +-- result/rvb23u64/4a9f38bc1e0b5937.S | 2 +- result/rvb23u64/4a9f97ae30cd67a0.S | 18 ++++++----- result/rvb23u64/4b02d85ce0d34cd4.S | 4 +-- result/rvb23u64/4b0c51496b33f558.S | 5 +-- result/rvb23u64/4b61eac5977450d2.S | 2 +- result/rvb23u64/4c088248d1e71703.S | 4 +-- result/rvb23u64/4c17996f154b8efc.S | 6 ++-- result/rvb23u64/4c7cc920e2689293.S | 4 +-- result/rvb23u64/4cb874191077db66.S | 4 +-- result/rvb23u64/4cc224e5e743f6e9.S | 5 ++- result/rvb23u64/4cd8af7565a91ae9.S | 8 +++-- result/rvb23u64/4cfa7c8bc9651825.S | 5 +-- result/rvb23u64/4d1dbbd2c5fc6841.S | 4 +-- result/rvb23u64/4d27c5bd82749ce8.S | 24 +++++++++------ result/rvb23u64/4de256616d368af0.S | 5 +-- result/rvb23u64/4e08befc8d9bacb7.S | 15 ++++----- result/rvb23u64/4e510e9c462f8230.S | 4 +-- result/rvb23u64/4ea4dccf52b7b901.S | 10 +++--- result/rvb23u64/4ee3cd6b897da7b5.S | 4 +-- result/rvb23u64/4ef773aedd87f2b5.S | 5 +-- result/rvb23u64/4f79f4b3908dae0c.S | 19 ++++++------ result/rvb23u64/4fe084d1140bbea2.S | 3 +- result/rvb23u64/502216bcf0d264a1.S | 8 +++-- result/rvb23u64/502f1d76c64f7e3e.S | 4 +-- result/rvb23u64/50c12a67fd103b4c.S | 3 +- result/rvb23u64/50e5304bac4a7bfe.S | 3 +- result/rvb23u64/512458f348f4cc28.S | 4 +-- result/rvb23u64/51361c1efdb65228.S | 5 +-- result/rvb23u64/514392caf52b3328.S | 5 +-- result/rvb23u64/51567bb68f9c1a61.S | 4 +-- result/rvb23u64/520a24d71e44a323.S | 5 +-- result/rvb23u64/522ff107c865a929.S | 19 +++++------- result/rvb23u64/52673e322d6403d7.S | 4 +-- result/rvb23u64/52782c8b5c0c1d22.S | 7 +++-- result/rvb23u64/532ed40e4b674157.S | 4 +-- result/rvb23u64/53808bd689a33207.S | 4 +-- result/rvb23u64/538e7ac1f162497b.S | 16 ++++++---- result/rvb23u64/53e380e382622b4e.S | 8 ++--- result/rvb23u64/55a511194d2c8150.S | 4 +-- result/rvb23u64/55b346f90117d416.S | 8 ++--- result/rvb23u64/55e11f93c5ac7f87.S | 4 +-- result/rvb23u64/567c3663fecdd1f0.S | 2 +- result/rvb23u64/56c5b0e58aaf1885.S | 8 ++--- result/rvb23u64/571c26878098bbb1.S | 10 +++--- result/rvb23u64/573bf58351bf733c.S | 5 +-- result/rvb23u64/574a761ab2645250.S | 5 +-- result/rvb23u64/57fe207e20c5e1f2.S | 8 ++--- result/rvb23u64/5908150c181f2ba0.S | 4 +-- result/rvb23u64/5992bc616e7276b6.S | 5 ++- result/rvb23u64/5a06f87a73b57276.S | 14 ++++----- result/rvb23u64/5a6c3fa9e03102c1.S | 4 +-- result/rvb23u64/5a89cb88cb6c8f37.S | 2 +- result/rvb23u64/5afbe0b6c455138c.S | 5 ++- result/rvb23u64/5c383a2a4a85d437.S | 2 +- result/rvb23u64/5c8d61ba90973916.S | 11 ++++--- result/rvb23u64/5cc49daad8244459.S | 8 ++--- result/rvb23u64/5cdbb3e7a0f8e531.S | 14 +++++---- result/rvb23u64/5d3a7732e22d122d.S | 8 ++--- result/rvb23u64/5d44e48891130b47.S | 5 +-- result/rvb23u64/5dc9186e22cad022.S | 5 +-- result/rvb23u64/5dd43f3cd0501113.S | 4 +-- result/rvb23u64/5e146211dc18454c.S | 3 +- result/rvb23u64/5e3136e4d28437e1.S | 4 +-- result/rvb23u64/5e8c6fb6d9dc4196.S | 4 +-- result/rvb23u64/5ea1b7b9f31c1a21.S | 5 ++- result/rvb23u64/5ee27e4a133f5451.S | 8 +++-- result/rvb23u64/5ee77ae4798f630f.S | 2 +- result/rvb23u64/5ef8ddbe125c0f76.S | 5 +-- result/rvb23u64/5fadbf3ac167d7f1.S | 8 ++--- result/rvb23u64/600dc843ef3b52b1.S | 8 ++--- result/rvb23u64/607af4d08be22bc9.S | 8 ++--- result/rvb23u64/60ce3fcf565eae24.S | 5 +-- result/rvb23u64/60d498a74025ac75.S | 5 +-- result/rvb23u64/611593d063801b4d.S | 4 +-- result/rvb23u64/614febf28f7f209d.S | 2 +- result/rvb23u64/61526d87807f4757.S | 6 ++-- result/rvb23u64/618427861fee72cb.S | 10 +++--- result/rvb23u64/61e7bfd2078b0c38.S | 5 +-- result/rvb23u64/6258a92b1713ea0d.S | 4 +-- result/rvb23u64/628d24b6c6727cba.S | 10 +++--- result/rvb23u64/62bd457e11be2f80.S | 7 +++-- result/rvb23u64/62cf1b672c4a8c9c.S | 8 ++--- result/rvb23u64/62e528756aaa8548.S | 10 +++--- result/rvb23u64/6330f2c4561385df.S | 8 ++--- result/rvb23u64/6339f5c7ade43785.S | 4 +-- result/rvb23u64/6355e38e253964e2.S | 4 +-- result/rvb23u64/63b737f98939856e.S | 6 ++-- result/rvb23u64/63ba42e58f7ced20.S | 4 +-- result/rvb23u64/6400e37f1036ed19.S | 4 +-- result/rvb23u64/640abbbed424fb50.S | 9 ++++-- result/rvb23u64/64ccd311e3d188e7.S | 2 +- result/rvb23u64/655803ab8e33641c.S | 2 +- result/rvb23u64/659be7732bf2eff2.S | 4 +-- result/rvb23u64/661f72418f3ada3b.S | 6 ++-- result/rvb23u64/6640bc37a0e285fe.S | 3 +- result/rvb23u64/6642c82a5f060b87.S | 8 +++-- result/rvb23u64/664fc2f6ff915d29.S | 4 +-- result/rvb23u64/66612dcbd505776d.S | 4 +-- result/rvb23u64/66a6170fc1f80123.S | 16 ++++++---- result/rvb23u64/677d418c6058be6a.S | 4 +-- result/rvb23u64/6786eafb6f193737.S | 4 +-- result/rvb23u64/67ab578d7f488f58.S | 8 +++-- result/rvb23u64/67c23e636580ecf8.S | 4 +-- result/rvb23u64/68135141794655b1.S | 4 +-- result/rvb23u64/6861fadd0fa6fa35.S | 5 +-- result/rvb23u64/688327af29ee3b90.S | 4 +-- result/rvb23u64/68b998da120607f7.S | 7 +++-- result/rvb23u64/6a095f96997ce267.S | 5 +-- result/rvb23u64/6a53ae29df20cf87.S | 5 ++- result/rvb23u64/6b48ac52a41a9f4b.S | 4 +-- result/rvb23u64/6b4e667cea4444e7.S | 4 +-- result/rvb23u64/6bb582747f2f49d1.S | 5 +-- result/rvb23u64/6bc65528f05a381f.S | 4 +-- result/rvb23u64/6bdad51ede23c32d.S | 4 +-- result/rvb23u64/6c07d60b885b96e2.S | 4 +-- result/rvb23u64/6c1b2cda3402d905.S | 13 ++++---- result/rvb23u64/6c4e5b14fe6f3fc9.S | 8 ++--- result/rvb23u64/6c52bb3d1c21dee8.S | 16 ++++++---- result/rvb23u64/6c8afe729951e67f.S | 4 +-- result/rvb23u64/6cdb0a8c190ee717.S | 4 +-- result/rvb23u64/6cf7de9fd61db6a7.S | 5 +-- result/rvb23u64/6d1093b3d1636b0d.S | 6 ++-- result/rvb23u64/6d2d0242c2fc2c6f.S | 12 ++++---- result/rvb23u64/6d321cf98097a943.S | 5 +-- result/rvb23u64/6db3368d24e6208b.S | 8 ++--- result/rvb23u64/6de0c4a61b14ee5b.S | 5 +-- result/rvb23u64/6df868b066db2313.S | 4 +-- result/rvb23u64/6dfe23c39aee4fd2.S | 6 ++-- result/rvb23u64/6e9036d816c5138e.S | 16 +++++----- result/rvb23u64/6f2d2d25cfb5d904.S | 4 +-- result/rvb23u64/6fd542b98878e7ad.S | 35 ++++++++++----------- result/rvb23u64/70630f8bf52794fe.S | 7 +++-- result/rvb23u64/71068138a440dac7.S | 32 +++++++++++-------- result/rvb23u64/71b3ce81980afcba.S | 4 +-- result/rvb23u64/7249700b8338403f.S | 2 +- result/rvb23u64/72828b7f45d1ad82.S | 4 +-- result/rvb23u64/7335bf3a318b2df7.S | 10 +++--- result/rvb23u64/735efc635b2eb7d7.S | 7 +++-- result/rvb23u64/74f30020549eb9d0.S | 4 +-- result/rvb23u64/752a2ab21dac91c4.S | 5 ++- result/rvb23u64/758e0a686118343a.S | 7 ++--- result/rvb23u64/76387ed0ea45636e.S | 4 +-- result/rvb23u64/766dcbdd5a3fd339.S | 4 +-- result/rvb23u64/76e7791e4f32dc1e.S | 2 +- result/rvb23u64/76ed40a784f078a2.S | 4 +-- result/rvb23u64/7797a2d391ce2f87.S | 6 ++-- result/rvb23u64/78478f7b9d285d5b.S | 4 +-- result/rvb23u64/78b275f71734de95.S | 5 +-- result/rvb23u64/793c11ee86690b97.S | 2 +- result/rvb23u64/798e71c1a7071d00.S | 8 ++--- result/rvb23u64/7a1198b0f1537d57.S | 5 +-- result/rvb23u64/7a2c8ed0dddeb6e2.S | 4 +-- result/rvb23u64/7a6d11ca94322e1e.S | 5 +-- result/rvb23u64/7b44015b4c1c3c3c.S | 16 ++++++---- result/rvb23u64/7b857f0cccd7a23b.S | 3 +- result/rvb23u64/7c783ec24f76e21e.S | 4 +-- result/rvb23u64/7c8d88ab620087e1.S | 12 ++++---- result/rvb23u64/7c905a4502ec59b0.S | 5 +-- result/rvb23u64/7ccdd9565e9fbb52.S | 8 ++--- result/rvb23u64/7cdb8802c4757464.S | 8 ++--- result/rvb23u64/7ce26e9b8ccfe19a.S | 8 ++--- result/rvb23u64/7dc351569ae6e8c4.S | 6 ++-- result/rvb23u64/7e87efb86a1ae720.S | 8 ++--- result/rvb23u64/7f391ba57acc023f.S | 2 +- result/rvb23u64/7f3a8b6a62646292.S | 22 ++++++-------- result/rvb23u64/7f5331b61d6e3cf2.S | 9 +++--- result/rvb23u64/7fd91528b87810dc.S | 4 +-- result/rvb23u64/7feaefba53892e18.S | 4 +-- result/rvb23u64/8089dc0b111cccc4.S | 5 +-- result/rvb23u64/811cee6d2237d5d1.S | 16 +++++----- result/rvb23u64/818aa9d9b7d04476.S | 8 ++--- result/rvb23u64/81c91263e1534aa0.S | 5 +-- result/rvb23u64/82105d1596f1d6f5.S | 4 +-- result/rvb23u64/82899218367a6820.S | 4 +-- result/rvb23u64/828f4327415c1240.S | 5 +-- result/rvb23u64/82f36d776eae78e1.S | 5 +-- result/rvb23u64/831df76105874dd7.S | 4 +-- result/rvb23u64/83400e0af8cf0924.S | 4 +-- result/rvb23u64/835092ca28a7f505.S | 5 ++- result/rvb23u64/837b10dc07a1e24d.S | 4 +-- result/rvb23u64/83d58908e9ae2a9f.S | 4 +-- result/rvb23u64/83ddeea711e88791.S | 4 +-- result/rvb23u64/84013717986bd879.S | 4 +-- result/rvb23u64/841d851d3402a453.S | 8 ++--- result/rvb23u64/84e01665274591b8.S | 8 ++--- result/rvb23u64/857c789e20c6763e.S | 4 +-- result/rvb23u64/85d8c532b963bd45.S | 3 +- result/rvb23u64/8631ff6fb644bcba.S | 10 +++--- result/rvb23u64/869e3f2f3fe1b671.S | 4 +-- result/rvb23u64/869e809e69e6bfa3.S | 4 +-- result/rvb23u64/8734747705f300cd.S | 4 +-- result/rvb23u64/87d6b0c8b921c5bc.S | 12 ++++---- result/rvb23u64/87ec62dadf2520f0.S | 16 +++++----- result/rvb23u64/8802bfc13984e1d0.S | 6 ++-- result/rvb23u64/887d3a02755c8538.S | 2 +- result/rvb23u64/89069b38be1eddf6.S | 4 +-- result/rvb23u64/89278ceab85a95d4.S | 4 +-- result/rvb23u64/8953254d0fbd901b.S | 5 ++- result/rvb23u64/89c5f9753f4a3696.S | 4 +-- result/rvb23u64/89d2020b809a0a8e.S | 10 +++--- result/rvb23u64/89d519a1a4449da9.S | 6 ++-- result/rvb23u64/89e75912d8787693.S | 5 +-- result/rvb23u64/8a8b251835f9e97a.S | 5 ++- result/rvb23u64/8b043ea9a564225e.S | 5 +-- result/rvb23u64/8bfa9d970ee8da41.S | 8 ++--- result/rvb23u64/8c14d7949feb05f5.S | 4 +-- result/rvb23u64/8c665fc915ae7376.S | 4 +-- result/rvb23u64/8cee009e25832cc2.S | 6 ++-- result/rvb23u64/8d53ae41abb6204d.S | 8 ++--- result/rvb23u64/8da59df1ae96c1ee.S | 16 ++++++---- result/rvb23u64/8dbae49f470f8221.S | 13 ++++---- result/rvb23u64/8e09b1780a8bb91f.S | 4 +-- result/rvb23u64/8e13c73988fa1416.S | 2 +- result/rvb23u64/8e2f7ac16c8586ea.S | 12 ++++---- result/rvb23u64/8e96cd3ed5022588.S | 5 +-- result/rvb23u64/8ebc15f7bcf9c1c8.S | 4 +-- result/rvb23u64/8ebf9d5e8e4a30c5.S | 10 +++--- result/rvb23u64/8ec8762c0eeb022e.S | 4 +-- result/rvb23u64/8fb6d62395ec570e.S | 8 ++--- result/rvb23u64/8ffa0dba9c805757.S | 4 +-- result/rvb23u64/9097585419cdccb2.S | 8 +++-- result/rvb23u64/91069adffcdb3b1b.S | 8 ++--- result/rvb23u64/91b585bacfee53b7.S | 4 +-- result/rvb23u64/92bbcbe246f82537.S | 2 +- result/rvb23u64/92eed5d0b98509a5.S | 4 +-- result/rvb23u64/9379a019f8de0a6d.S | 2 +- result/rvb23u64/93eb4a10b035d52d.S | 5 +-- result/rvb23u64/946a6d411129f82c.S | 5 ++- result/rvb23u64/94c1395837381cb6.S | 4 +-- result/rvb23u64/956fc81a20d9cc15.S | 4 +-- result/rvb23u64/958152c09b6065d9.S | 3 +- result/rvb23u64/95ac8391ca034f61.S | 16 +++++----- result/rvb23u64/965583ee0a651c62.S | 8 ++--- result/rvb23u64/966e880779f5d33f.S | 4 +-- result/rvb23u64/96917cf0a2e0d363.S | 5 +-- result/rvb23u64/96efe1c2ce8305a0.S | 8 ++--- result/rvb23u64/974d55cddb4fb780.S | 4 +-- result/rvb23u64/976821de434aeec3.S | 4 +-- result/rvb23u64/9867fd0efd42e297.S | 5 ++- result/rvb23u64/98f29df8b0568275.S | 4 +-- result/rvb23u64/993a13215f7720fd.S | 5 +-- result/rvb23u64/99917808f1723781.S | 4 +-- result/rvb23u64/99d415787cf4e517.S | 8 ++--- result/rvb23u64/99eec76e989cf164.S | 2 +- result/rvb23u64/9a861b01526d01c8.S | 8 +++-- result/rvb23u64/9b3246e30247b75f.S | 4 +-- result/rvb23u64/9bd0bba068027f08.S | 8 +++-- result/rvb23u64/9bfc5e1142916a1a.S | 5 +-- result/rvb23u64/9c15be7444d1f554.S | 4 +-- result/rvb23u64/9c664406799aed97.S | 4 +-- result/rvb23u64/9d2be03ec3c0b178.S | 9 +++--- result/rvb23u64/9d71166742cbf8f9.S | 20 ++++++------ result/rvb23u64/9e0604f7204b1a8d.S | 19 +++++++----- result/rvb23u64/9e2997bdfe17b4ad.S | 4 +-- result/rvb23u64/9e2f6ea4bfd74aa3.S | 4 +-- result/rvb23u64/9e35d9cbc6b4d1c3.S | 2 +- result/rvb23u64/9e7da47154c93cb4.S | 5 +-- result/rvb23u64/9e97edb319e58df7.S | 5 +-- result/rvb23u64/9efbb9f399087b0b.S | 4 +-- result/rvb23u64/9f0408167627e820.S | 8 ++--- result/rvb23u64/9f55872a48329b8c.S | 10 +++--- result/rvb23u64/9f59bc7d82cb851b.S | 3 +- result/rvb23u64/9f5bfe290418f0d8.S | 8 +++-- result/rvb23u64/9fb33faa36e66e1c.S | 4 +-- result/rvb23u64/a00f861f70c2d694.S | 4 +-- result/rvb23u64/a01b37d22414521f.S | 4 +-- result/rvb23u64/a03e6ac745737b19.S | 4 +-- result/rvb23u64/a0d8db2aa1363094.S | 4 +-- result/rvb23u64/a0ebc23bf8043ff9.S | 6 ++-- result/rvb23u64/a104555c19ef5c53.S | 6 ++-- result/rvb23u64/a109d3a2722efe20.S | 3 +- result/rvb23u64/a10e78396ad623d7.S | 8 +++-- result/rvb23u64/a18d5cc9ab0262fc.S | 4 +-- result/rvb23u64/a1908fe3295b9ef9.S | 4 +-- result/rvb23u64/a26a0111b0983fd3.S | 4 +-- result/rvb23u64/a2ce675c991d066a.S | 4 +-- result/rvb23u64/a2d16603877e863d.S | 5 +-- result/rvb23u64/a2ec64517b467271.S | 10 +++--- result/rvb23u64/a2f9d19707f38d26.S | 5 +-- result/rvb23u64/a30bfa70cc50dc28.S | 8 ++--- result/rvb23u64/a310b622c6dc908a.S | 4 +-- result/rvb23u64/a32443f4d98cdda9.S | 8 +++-- result/rvb23u64/a360f4eea4506254.S | 5 +-- result/rvb23u64/a36648f3ebc95b56.S | 8 ++--- result/rvb23u64/a3a3b40030b79261.S | 4 +-- result/rvb23u64/a3fa9e010ad6ccfa.S | 5 +-- result/rvb23u64/a444b16a817397e1.S | 10 +++--- result/rvb23u64/a467a01da9c40284.S | 5 +-- result/rvb23u64/a519b66c8c6ce91b.S | 10 +++--- result/rvb23u64/a5294b15633a4ea6.S | 16 ++++++---- result/rvb23u64/a5402eed4c39d956.S | 2 +- result/rvb23u64/a5db1d0e0a9ec1ec.S | 5 +-- result/rvb23u64/a5dbbe5902b22e4b.S | 5 +-- result/rvb23u64/a6040ccc0201a239.S | 8 +++-- result/rvb23u64/a608523a90d1177d.S | 4 +-- result/rvb23u64/a626db340f84d38b.S | 5 +-- result/rvb23u64/a677c44ca7c14904.S | 4 +-- result/rvb23u64/a704d62b530d2e20.S | 5 +-- result/rvb23u64/a7100c22d5ce980e.S | 18 +++++------ result/rvb23u64/a72b7445924d25c4.S | 20 +++++------- result/rvb23u64/a7bc06ecb3d1b471.S | 2 +- result/rvb23u64/a7f568bf59ab4314.S | 25 ++++++++------- result/rvb23u64/a7fca5f6a1642d67.S | 16 ++++++---- result/rvb23u64/a8305c1a643ff6b4.S | 8 +++-- result/rvb23u64/a863970fec9bfb32.S | 4 +-- result/rvb23u64/a8e7055a35dba29e.S | 10 +++--- result/rvb23u64/a97bad6f2e7fae5c.S | 24 +++++++-------- result/rvb23u64/a9e1fa8ab3ae08f2.S | 4 +-- result/rvb23u64/aa4ae19eafc3ca60.S | 5 +-- result/rvb23u64/aa557024a95fd74e.S | 4 +-- result/rvb23u64/aa6646c3fb8f32e0.S | 10 +++--- result/rvb23u64/aaa9f20d8cdc59a2.S | 4 +-- result/rvb23u64/aab8c260386f50c2.S | 18 ++++++----- result/rvb23u64/abc8865189edc40b.S | 28 ++++++++--------- result/rvb23u64/abd5256c8cb4129c.S | 5 +-- result/rvb23u64/ac93d9bf7a38af15.S | 4 +-- result/rvb23u64/acd2c71121c3b8dd.S | 10 +++--- result/rvb23u64/ad74206811f28412.S | 5 +-- result/rvb23u64/ad9c8ed33e41d614.S | 2 +- result/rvb23u64/adc334f2ae911f84.S | 5 +-- result/rvb23u64/add9229d9142b7f4.S | 4 +-- result/rvb23u64/ae2bf026e714c8c2.S | 4 +-- result/rvb23u64/aea780e34326cb80.S | 4 +-- result/rvb23u64/aec610c82ec7d8e9.S | 4 +-- result/rvb23u64/aede6b0a6510ae65.S | 14 ++++----- result/rvb23u64/aee1c31e01074553.S | 10 +++--- result/rvb23u64/aef65dc9c9a97720.S | 4 +-- result/rvb23u64/af54e489a0a44ef7.S | 5 +-- result/rvb23u64/afc821b37dc8be00.S | 5 +-- result/rvb23u64/b05c5c8abf95d5e6.S | 5 ++- result/rvb23u64/b06bea134b3e08e5.S | 2 -- result/rvb23u64/b13bc1f9f74e4697.S | 4 +-- result/rvb23u64/b14651a969c3b3c0.S | 5 +-- result/rvb23u64/b19c1f10cb7f9a37.S | 8 +++-- result/rvb23u64/b1ad30b2ca3162db.S | 6 ++-- result/rvb23u64/b26e2a00c11b68c2.S | 9 +++--- result/rvb23u64/b28ce09096327201.S | 2 +- result/rvb23u64/b2a7d70bfe81b751.S | 6 ++-- result/rvb23u64/b2c6663344d7e372.S | 4 +-- result/rvb23u64/b3064a182e3cb0ac.S | 4 +-- result/rvb23u64/b379c82420d58eb4.S | 2 +- result/rvb23u64/b4cedb52a03d6d78.S | 4 +-- result/rvb23u64/b4e4e67974702745.S | 8 ++--- result/rvb23u64/b5910491677fb28b.S | 4 +-- result/rvb23u64/b5ab850251b82b30.S | 8 ++--- result/rvb23u64/b602187b88dd00e1.S | 4 +-- result/rvb23u64/b640b5aee51eee74.S | 8 +++-- result/rvb23u64/b66d324aa4e620a5.S | 4 +-- result/rvb23u64/b684efeadaf20077.S | 3 +- result/rvb23u64/b68642674836da81.S | 5 +-- result/rvb23u64/b689407d8cf7e8b3.S | 4 +-- result/rvb23u64/b6975db29d06232d.S | 10 +++--- result/rvb23u64/b6a527d99659e7af.S | 5 +-- result/rvb23u64/b71a5d20392b7f07.S | 8 +++-- result/rvb23u64/b71cfdf7f1c04f0f.S | 9 +++--- result/rvb23u64/b7405788e8a94ee4.S | 4 +-- result/rvb23u64/b841b5c2334e87ba.S | 4 +-- result/rvb23u64/b88e842aa1a98b11.S | 4 +-- result/rvb23u64/b89166f755132560.S | 16 ++++++---- result/rvb23u64/b8db7133f7813127.S | 8 ++--- result/rvb23u64/b8f5a95d69ea3c49.S | 8 ++--- result/rvb23u64/b9067f75dec222d9.S | 2 +- result/rvb23u64/b9c3d444237eafd0.S | 18 ++++++----- result/rvb23u64/ba6b53ed3860e606.S | 5 +-- result/rvb23u64/ba8aca882ef837c4.S | 2 +- result/rvb23u64/bab2ae483babb912.S | 8 ++--- result/rvb23u64/bac95e383b0fbb93.S | 12 ++++---- result/rvb23u64/bad716683a126d4c.S | 4 +-- result/rvb23u64/bad946bd4a3badd2.S | 5 +-- result/rvb23u64/baeea764709ac5ba.S | 16 ++++++---- result/rvb23u64/bb38fda83b1f9cf8.S | 4 +-- result/rvb23u64/bb5dfe6332b3ed6c.S | 2 +- result/rvb23u64/bbc31eb29941ec44.S | 5 +-- result/rvb23u64/bc36360fd57775bf.S | 4 +-- result/rvb23u64/bc5625c97d23e9f9.S | 4 +-- result/rvb23u64/bc61cb979ef5999f.S | 12 ++++---- result/rvb23u64/bd47e78a537753e8.S | 4 +-- result/rvb23u64/bdbe68a45188d8a2.S | 5 +-- result/rvb23u64/bdca2b745b0b281e.S | 2 +- result/rvb23u64/be2aea86821e62b0.S | 4 +-- result/rvb23u64/be4bf281f7d3d894.S | 4 +-- result/rvb23u64/be58ae005bfc6f20.S | 25 ++++++++------- result/rvb23u64/bed4ced3b232b25d.S | 4 +-- result/rvb23u64/bf3b0e1d9bd2ae4d.S | 16 ++++++---- result/rvb23u64/bf4e524a9364a070.S | 15 ++++----- result/rvb23u64/bf66f26df85eaf59.S | 5 ++- result/rvb23u64/bf6b8e7509bbabf7.S | 48 ++++++++++++++--------------- result/rvb23u64/c0083b6b1c40ed79.S | 10 +++--- result/rvb23u64/c03214b34de1e75f.S | 16 +++++----- result/rvb23u64/c0490f846049f5dc.S | 4 +-- result/rvb23u64/c04a85ebb98b6307.S | 4 +-- result/rvb23u64/c071f3b202613d27.S | 4 +-- result/rvb23u64/c08b7164004d7921.S | 8 +++-- result/rvb23u64/c0b4a68163c631ed.S | 12 ++++---- result/rvb23u64/c0dc34fb9bca2d58.S | 5 +-- result/rvb23u64/c0fd4e33eeb3842d.S | 2 +- result/rvb23u64/c16e9c3e136397a0.S | 4 +-- result/rvb23u64/c1c215d25b66af3f.S | 5 +-- result/rvb23u64/c1cf0e65995725cf.S | 5 ++- result/rvb23u64/c379d729fa91db7d.S | 4 +-- result/rvb23u64/c38f7abd8f9d7b39.S | 20 ++++++------ result/rvb23u64/c3c40f9e2b29c8df.S | 16 +++++----- result/rvb23u64/c3fa5abc9fb85b95.S | 4 +-- result/rvb23u64/c44c9105cdd0fb13.S | 9 +++--- result/rvb23u64/c46e76388ef98f16.S | 5 +-- result/rvb23u64/c477e41e28ab8f3c.S | 7 +++-- result/rvb23u64/c4c0b0f8248efd8a.S | 4 +-- result/rvb23u64/c52203f5cd125175.S | 2 +- result/rvb23u64/c58bb26454f62157.S | 10 +++--- result/rvb23u64/c65146f32104a435.S | 12 ++++---- result/rvb23u64/c6715ad7850ff081.S | 4 +-- result/rvb23u64/c6813016fa38a52f.S | 12 ++++---- result/rvb23u64/c68a44b687240558.S | 5 +-- result/rvb23u64/c6a4c1b4d344b739.S | 8 ++--- result/rvb23u64/c72417bcf77cd777.S | 7 +++-- result/rvb23u64/c7401128ed50e07e.S | 5 ++- result/rvb23u64/c74f40f359bdb516.S | 5 +-- result/rvb23u64/c75aae222f4f3e56.S | 24 +++++++-------- result/rvb23u64/c7e6528985a1d361.S | 8 ++--- result/rvb23u64/c841e8a3bbe0f1fd.S | 5 +-- result/rvb23u64/c8695c67a72df92c.S | 10 +++--- result/rvb23u64/c89bf3dc0749dbc3.S | 4 +-- result/rvb23u64/c90879ffb89ddba5.S | 2 +- result/rvb23u64/c94b2dad4c8ea900.S | 2 +- result/rvb23u64/c9a99c16e9fafece.S | 5 +-- result/rvb23u64/ca1db1b13dd21eb9.S | 4 +-- result/rvb23u64/ca5869bfef6ba44a.S | 4 +-- result/rvb23u64/ca58e1bdb8c63ec0.S | 8 ++--- result/rvb23u64/ca7876c065f124c8.S | 4 +-- result/rvb23u64/ca9e87d4327c7e20.S | 5 +-- result/rvb23u64/caeb7e7b5a40cd51.S | 4 +-- result/rvb23u64/cb023b91e0aee769.S | 10 +++--- result/rvb23u64/cb51d16b6591a1fd.S | 8 +++-- result/rvb23u64/cbb7dfd15aacb5ac.S | 8 +++-- result/rvb23u64/cc5b279d17d7f8ac.S | 5 +-- result/rvb23u64/cc9f65d98bc623b1.S | 5 +-- result/rvb23u64/cd2a3f05feaf4f26.S | 4 +-- result/rvb23u64/cd54f76b6c4e5e71.S | 4 +-- result/rvb23u64/cd9c05acaf07ce57.S | 4 +-- result/rvb23u64/ce0dcbb978f1dc00.S | 5 +-- result/rvb23u64/ce395b04d70dd0a8.S | 5 +-- result/rvb23u64/ce51206f7d305b79.S | 2 +- result/rvb23u64/ce58aedba2c50caf.S | 6 ++-- result/rvb23u64/cea37f50e83daef2.S | 4 +-- result/rvb23u64/cec680a6460e16d3.S | 4 +-- result/rvb23u64/cf3b9dd4f4698390.S | 12 ++++---- result/rvb23u64/cfa5d74c03726bde.S | 4 +-- result/rvb23u64/cfec5d73aac22dec.S | 4 +-- result/rvb23u64/d0dc901d682129f0.S | 6 ++-- result/rvb23u64/d0e7c42f1211794c.S | 5 ++- result/rvb23u64/d0f2407d80aa6313.S | 5 ++- result/rvb23u64/d1454bfb8bff1dd5.S | 20 ++++++------ result/rvb23u64/d19d1aa6c54360c2.S | 5 +-- result/rvb23u64/d1e5ed929f187110.S | 2 +- result/rvb23u64/d2365c4a07875c03.S | 4 +-- result/rvb23u64/d2865afd32d48332.S | 4 +-- result/rvb23u64/d2ffb552ee3871e0.S | 6 ++-- result/rvb23u64/d41655e929c310b8.S | 4 +-- result/rvb23u64/d498e4277effd59d.S | 4 +-- result/rvb23u64/d4d762813d1f9ce5.S | 4 +-- result/rvb23u64/d4e765a3c4d0df4b.S | 9 +++--- result/rvb23u64/d525a82912a2d49f.S | 4 +-- result/rvb23u64/d53a4d4f285c594c.S | 5 +-- result/rvb23u64/d577f05d6473d0f7.S | 12 ++++---- result/rvb23u64/d57b6620e40381eb.S | 4 +-- result/rvb23u64/d616f5265f736cf3.S | 4 +-- result/rvb23u64/d624f63b20c9c3ae.S | 8 +++-- result/rvb23u64/d62d5121009f2a19.S | 7 +++-- result/rvb23u64/d6d791c1a5c6ad11.S | 4 +-- result/rvb23u64/d75f43d600cca8c6.S | 4 +-- result/rvb23u64/d79d46018eeaf041.S | 4 +-- result/rvb23u64/d7bab6cef1252e7f.S | 17 +++++------ result/rvb23u64/d7f90aee8acb9d70.S | 5 +-- result/rvb23u64/d8133907806e2ab8.S | 8 ++--- result/rvb23u64/d83968eaf2ed9a98.S | 8 ++--- result/rvb23u64/d84e12a2a9a9cd34.S | 4 +-- result/rvb23u64/d8a4921d0c3ee7ab.S | 5 +-- result/rvb23u64/d8f9e7a7c6a68a87.S | 5 +-- result/rvb23u64/d908afb1e3d04f7b.S | 4 +-- result/rvb23u64/d94261e221d7633a.S | 4 +-- result/rvb23u64/d9d333f643f7c45d.S | 4 +-- result/rvb23u64/daa3d12a5f112ce3.S | 2 +- result/rvb23u64/dab80037f8ef0316.S | 9 +++--- result/rvb23u64/db04d57c6d75e557.S | 6 ++-- result/rvb23u64/db533902c3afc039.S | 4 +-- result/rvb23u64/db6408801cd9baea.S | 4 +-- result/rvb23u64/db64eb810f130723.S | 4 +-- result/rvb23u64/dbba07a355562bc8.S | 5 ++- result/rvb23u64/dbdebd1caf00be5d.S | 4 +-- result/rvb23u64/dbdee215d91cb794.S | 2 +- result/rvb23u64/dc1c0e2ee7435627.S | 4 +-- result/rvb23u64/dc6559930308156d.S | 4 +-- result/rvb23u64/dc84c5c76267a6e3.S | 4 +-- result/rvb23u64/dc90bbe173c68181.S | 5 +-- result/rvb23u64/dd1924f69a77aa4b.S | 3 +- result/rvb23u64/dd3db1dd49b72cc7.S | 10 +++--- result/rvb23u64/dd52c862958e1143.S | 4 +-- result/rvb23u64/dde7673e7b3de2f1.S | 5 +-- result/rvb23u64/de52b28a355f44b8.S | 4 +-- result/rvb23u64/de556e5ed2adb822.S | 49 ++++++++++++++++-------------- result/rvb23u64/deb2728649e83c95.S | 5 +-- result/rvb23u64/df7d84f038f8c397.S | 11 ++++--- result/rvb23u64/e05cef027cb545ae.S | 7 +++-- result/rvb23u64/e0b2e7475248992e.S | 5 ++- result/rvb23u64/e0d9a4f0870a432e.S | 5 +-- result/rvb23u64/e1138be0d40c877a.S | 4 +-- result/rvb23u64/e150c0fccfe4fc4d.S | 10 +++--- result/rvb23u64/e1659e9ea880ddd5.S | 6 ++-- result/rvb23u64/e17348f29744247c.S | 19 ++++++------ result/rvb23u64/e17aea5e9fa17f29.S | 2 +- result/rvb23u64/e18bf287b1ffffcf.S | 4 +-- result/rvb23u64/e1f87c88ca237a0b.S | 8 +++-- result/rvb23u64/e22fa4e9116f0262.S | 5 ++- result/rvb23u64/e2c91e731c853e95.S | 9 +++--- result/rvb23u64/e338f3b79d0f83ee.S | 4 +-- result/rvb23u64/e34e7381c0c5302d.S | 4 +-- result/rvb23u64/e368f944f3fb4237.S | 2 +- result/rvb23u64/e39b80725b458918.S | 8 ++--- result/rvb23u64/e3ff42aaf531ef36.S | 5 +-- result/rvb23u64/e4270f2f111d2491.S | 4 +-- result/rvb23u64/e42e525b262a868c.S | 4 +-- result/rvb23u64/e4a4422ffdfdb4c3.S | 5 ++- result/rvb23u64/e4d95ea6206b67ac.S | 5 +-- result/rvb23u64/e507198e0b788817.S | 21 ++++++------- result/rvb23u64/e6bc4e862636b229.S | 4 +-- result/rvb23u64/e707c6f7095df45d.S | 4 +-- result/rvb23u64/e7596bd80115737a.S | 4 +-- result/rvb23u64/e769b8047dc6b12b.S | 5 +-- result/rvb23u64/e782eef29ecab8cb.S | 4 +-- result/rvb23u64/e785f57d92b64987.S | 19 +++++++----- result/rvb23u64/e7ade5b4a23e3cd2.S | 6 ++-- result/rvb23u64/e7b0c9cac26a0d51.S | 12 ++++---- result/rvb23u64/e80eb58244656b7f.S | 5 +-- result/rvb23u64/e827f537d57596f6.S | 8 ++--- result/rvb23u64/e85fe29bd2549980.S | 4 +-- result/rvb23u64/e8b40f05c92b4430.S | 2 +- result/rvb23u64/e8cf1a8a6582a8ad.S | 4 +-- result/rvb23u64/e909088bec3e38ba.S | 5 +-- result/rvb23u64/e90eae6e965ef734.S | 10 +++--- result/rvb23u64/e91f6ac83bf31623.S | 12 ++++---- result/rvb23u64/e951c17fb1c473bd.S | 8 ++--- result/rvb23u64/e964c1b3e93c34a0.S | 4 +-- result/rvb23u64/e96781f71165495e.S | 6 ++-- result/rvb23u64/e969cfcbd6688253.S | 7 +++-- result/rvb23u64/ea089e21be4aeb46.S | 6 ++-- result/rvb23u64/ea286dd3b78d7d8c.S | 4 +-- result/rvb23u64/ea3bca5ff76e06e1.S | 20 ++++++------ result/rvb23u64/eaac99a99717c019.S | 6 ++-- result/rvb23u64/eaf4f5b5362edb9f.S | 4 +-- result/rvb23u64/eb033d51f09761cb.S | 4 +-- result/rvb23u64/eb1b2717cc311030.S | 5 +-- result/rvb23u64/eb891c173da2bb4f.S | 5 +-- result/rvb23u64/ebe56e3801a05ff6.S | 4 +-- result/rvb23u64/ec62e45510cc3770.S | 5 +-- result/rvb23u64/ece0584f56eea509.S | 6 ++-- result/rvb23u64/ed8cc70c8e5ed76d.S | 10 +++--- result/rvb23u64/ed92c6c0ab909e0b.S | 5 +-- result/rvb23u64/edc255c69a0c0e82.S | 8 ++--- result/rvb23u64/eddcaab12f6691ce.S | 4 +-- result/rvb23u64/ee1b32457cea6239.S | 5 +-- result/rvb23u64/ee24e936c348658b.S | 4 +-- result/rvb23u64/eed6e281f262b280.S | 4 +-- result/rvb23u64/ef00d1dcbc461c56.S | 4 +-- result/rvb23u64/ef23aa0e6205ae5c.S | 16 ++++++---- result/rvb23u64/ef4dc9fb7d680b9a.S | 32 +++++++++---------- result/rvb23u64/ef8ca4684ca72007.S | 6 ++-- result/rvb23u64/f0b7bda3e3d42361.S | 4 +-- result/rvb23u64/f0bcbb49714fbef0.S | 4 +-- result/rvb23u64/f0fd1436f5d1c0a2.S | 4 +-- result/rvb23u64/f1165b906f79d31b.S | 4 +-- result/rvb23u64/f18087353c995cc8.S | 24 +++++++-------- result/rvb23u64/f18d2c3db9ef39e2.S | 4 +-- result/rvb23u64/f1a5f1c7117b3780.S | 8 ++--- result/rvb23u64/f1d21ee40badfd80.S | 4 +-- result/rvb23u64/f20028cb5ce23c7e.S | 5 +-- result/rvb23u64/f237be1fb14bf775.S | 4 +-- result/rvb23u64/f23b945f1c2c5aa6.S | 10 +++--- result/rvb23u64/f281f1a98e8fc4d0.S | 5 +-- result/rvb23u64/f298b8f9f65ba991.S | 12 ++++---- result/rvb23u64/f2b164df437d26c9.S | 4 +-- result/rvb23u64/f2e9368a1c8431a9.S | 4 +-- result/rvb23u64/f32b26220604c01d.S | 9 ++++-- result/rvb23u64/f35f3b9a9ace9a30.S | 8 ++--- result/rvb23u64/f3677561a1dc099b.S | 9 +++--- result/rvb23u64/f3e34a9043becaaa.S | 25 +++++++++------ result/rvb23u64/f4151c630b430b50.S | 4 +-- result/rvb23u64/f446b3f404f734cd.S | 9 +++--- result/rvb23u64/f481bd9849082a2a.S | 4 +-- result/rvb23u64/f4af32ded3e93c80.S | 8 ++--- result/rvb23u64/f4c0aaa7db630ce5.S | 16 ++++++---- result/rvb23u64/f4d609a3475fea6c.S | 5 +-- result/rvb23u64/f562e1645373c2ea.S | 5 ++- result/rvb23u64/f58467fcecc2955f.S | 5 +-- result/rvb23u64/f593aaa1bd30571a.S | 16 +++++----- result/rvb23u64/f5a632bd714f3f80.S | 16 +++++----- result/rvb23u64/f5cdf26c09a4a10c.S | 5 +-- result/rvb23u64/f63dc624c1f1224d.S | 8 ++--- result/rvb23u64/f6b8bdd0a4783405.S | 4 +-- result/rvb23u64/f7d8e9d725fd35b9.S | 4 +-- result/rvb23u64/f7e21aa94654b1a1.S | 4 +-- result/rvb23u64/f7ef960533be5892.S | 8 ++--- result/rvb23u64/f8e8679ada9b19dc.S | 6 ++-- result/rvb23u64/f9282e480ae4626a.S | 10 +++--- result/rvb23u64/f97acaa95348d1d4.S | 4 +-- result/rvb23u64/f9b41c99b184b5f1.S | 9 +++--- result/rvb23u64/f9ffd5fe1b7c070b.S | 4 +-- result/rvb23u64/fa0a6b9ad6bc288c.S | 10 +++--- result/rvb23u64/fa0c6b1e1f1ebc87.S | 5 +-- result/rvb23u64/fa3587b3f714d430.S | 8 ++--- result/rvb23u64/fa4319c20a32ecac.S | 5 +-- result/rvb23u64/fa84519b3ef0aef0.S | 4 +-- result/rvb23u64/faaaead7e0cc5ba9.S | 4 +-- result/rvb23u64/fac9d87a9614aa52.S | 5 +-- result/rvb23u64/fae42e201ddda0f8.S | 2 +- result/rvb23u64/fb07e1a9c57039f2.S | 2 +- result/rvb23u64/fb8ee047ad50bbfa.S | 8 +++-- result/rvb23u64/fc1e80716503b14c.S | 4 +-- result/rvb23u64/fc26f8d7b51b3eea.S | 16 ++++++---- result/rvb23u64/fc5c346435b35fea.S | 4 +-- result/rvb23u64/fca4f9c2b3eb976d.S | 4 +-- result/rvb23u64/fccdb37f209ba3ae.S | 9 +++--- result/rvb23u64/fd29ebf19032e1ea.S | 4 +-- result/rvb23u64/fd375c23ffd207ae.S | 4 +-- result/rvb23u64/fd40d0505ed53bd6.S | 5 +-- result/rvb23u64/fe027d0eae80e607.S | 13 +++++--- result/rvb23u64/fe2f62f38bed70a1.S | 4 +-- result/rvb23u64/feae0e24901db5b5.S | 4 +-- result/rvb23u64/ff1c641cd9b69313.S | 6 ++-- result/rvb23u64/ff7a885d27f2ba9c.S | 4 +-- result/rvb23u64/ff7c7eba0b23a908.S | 6 ++-- result/rvb23u64/ffa811f58ef8cb78.S | 4 +-- 855 files changed, 3022 insertions(+), 2694 deletions(-) diff --git a/llvm/llvm-project b/llvm/llvm-project index c50f7e9a425..2e26ee9dce3 160000 --- a/llvm/llvm-project +++ b/llvm/llvm-project @@ -1 +1 @@ -Subproject commit c50f7e9a425bfa4ab8655c79a715c88ed3b1e830 +Subproject commit 2e26ee9dce32d12ffa9bfb7f7d3e97778f0b7a75 diff --git a/result/rvb23u64/0026c210d1366977.S b/result/rvb23u64/0026c210d1366977.S index 4f3e73e50f6..23074bf945f 100644 --- a/result/rvb23u64/0026c210d1366977.S +++ b/result/rvb23u64/0026c210d1366977.S @@ -1,7 +1,7 @@ func0000000000000001: # @func0000000000000001 add a1, a1, a2 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh2add a0, a1, a0 ret func0000000000000000: # @func0000000000000000 diff --git a/result/rvb23u64/006e735500ebc60d.S b/result/rvb23u64/006e735500ebc60d.S index 8dafca95745..40af1840366 100644 --- a/result/rvb23u64/006e735500ebc60d.S +++ b/result/rvb23u64/006e735500ebc60d.S @@ -1,8 +1,9 @@ func0000000000000009: # @func0000000000000009 srli a3, a2, 63 add a2, a2, a3 - srai a2, a2, 1 - sh1add a2, a2, a2 + srli a3, a2, 1 + andi a2, a2, -2 + add a2, a2, a3 sh3add a1, a2, a1 sub a0, a0, a1 srai a0, a0, 3 diff --git a/result/rvb23u64/008d8f68435d6a1b.S b/result/rvb23u64/008d8f68435d6a1b.S index 411fb1d595f..c2324e710e3 100644 --- a/result/rvb23u64/008d8f68435d6a1b.S +++ b/result/rvb23u64/008d8f68435d6a1b.S @@ -1,7 +1,7 @@ func000000000000001a: # @func000000000000001a sh1add a0, a0, a0 - li a1, -12 - sh2add a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, -12 lui a1, 699051 addiw a1, a1, -1365 slli a2, a1, 32 @@ -11,8 +11,8 @@ func000000000000001a: # @func000000000000001a ret func000000000000000b: # @func000000000000000b sh1add a0, a0, a0 - li a1, -24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, -24 lui a1, 699051 addiw a1, a1, -1365 slli a2, a1, 32 @@ -81,8 +81,8 @@ func000000000000000e: # @func000000000000000e lui a1, %hi(.LCPI7_0) ld a1, %lo(.LCPI7_0)(a1) sh2add a0, a0, a0 - li a2, 3 - sh1add a0, a0, a2 + slli a0, a0, 1 + addi a0, a0, 3 mulhu a0, a0, a1 srli a0, a0, 2 ret diff --git a/result/rvb23u64/00fee3703417590c.S b/result/rvb23u64/00fee3703417590c.S index b75d84dcc7a..545e32d455e 100644 --- a/result/rvb23u64/00fee3703417590c.S +++ b/result/rvb23u64/00fee3703417590c.S @@ -1,15 +1,14 @@ func000000000000001f: # @func000000000000001f or a0, a0, a1 sh2add a0, a0, a0 - li a1, 10 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, 10 ret func0000000000000004: # @func0000000000000004 or a0, a0, a1 sh1add a0, a0, a0 - li a1, 24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 24 ret func0000000000000015: # @func0000000000000015 or a0, a0, a1 diff --git a/result/rvb23u64/011e68a5a7471648.S b/result/rvb23u64/011e68a5a7471648.S index de0b1b300fb..98da52dce7f 100644 --- a/result/rvb23u64/011e68a5a7471648.S +++ b/result/rvb23u64/011e68a5a7471648.S @@ -21,8 +21,8 @@ func0000000000000004: # @func0000000000000004 ret func0000000000000015: # @func0000000000000015 sh2add a1, a1, a1 - slli a1, a1, 3 - sh2add a0, a0, a1 + sh1add a0, a1, a0 + slli a0, a0, 2 ret func0000000000000030: # @func0000000000000030 sh2add a0, a0, a0 @@ -31,13 +31,12 @@ func0000000000000030: # @func0000000000000030 ret func0000000000000010: # @func0000000000000010 sh1add a0, a0, a0 - slli a0, a0, 1 - sh2add a0, a1, a0 - sext.w a0, a0 + sh1add a0, a1, a0 + slliw a0, a0, 1 ret func0000000000000032: # @func0000000000000032 - slli a0, a0, 12 sh1add a1, a1, a1 + slli a0, a0, 12 sh3add a0, a1, a0 ret func0000000000000035: # @func0000000000000035 diff --git a/result/rvb23u64/01d29debedf5fbca.S b/result/rvb23u64/01d29debedf5fbca.S index 532de6a73b3..18294ac939b 100644 --- a/result/rvb23u64/01d29debedf5fbca.S +++ b/result/rvb23u64/01d29debedf5fbca.S @@ -18,8 +18,8 @@ func000000000000003f: # @func000000000000003f ret func000000000000007e: # @func000000000000007e andi a1, a1, 255 - andi a0, a0, 255 sh2add a1, a1, a1 + andi a0, a0, 255 sh1add a0, a1, a0 lui a1, 244 addi a1, a1, 576 @@ -27,16 +27,16 @@ func000000000000007e: # @func000000000000007e ret func000000000000007f: # @func000000000000007f andi a1, a1, 255 - andi a0, a0, 255 sh2add a1, a1, a1 + andi a0, a0, 255 sh1add a0, a1, a0 sh2add a0, a0, a0 slli a0, a0, 1 ret func00000000000000ff: # @func00000000000000ff andi a1, a1, 255 - andi a0, a0, 255 sh2add a1, a1, a1 + andi a0, a0, 255 sh1add a0, a1, a0 sh2add a0, a0, a0 slli a0, a0, 1 diff --git a/result/rvb23u64/01ed80ea71e0c3a1.S b/result/rvb23u64/01ed80ea71e0c3a1.S index cca0c84d2f1..72f6a887721 100644 --- a/result/rvb23u64/01ed80ea71e0c3a1.S +++ b/result/rvb23u64/01ed80ea71e0c3a1.S @@ -32,7 +32,7 @@ func000000000000000a: # @func000000000000000a add a3, a3, a4 mul a1, a1, a3 add a1, a1, a2 - li a2, 136 - mul a1, a1, a2 + slli a2, a1, 7 + sh3add a1, a1, a2 add a0, a0, a1 ret diff --git a/result/rvb23u64/01f051333e1a8c8a.S b/result/rvb23u64/01f051333e1a8c8a.S index 6ab20ccbdc6..90c596fa7b2 100644 --- a/result/rvb23u64/01f051333e1a8c8a.S +++ b/result/rvb23u64/01f051333e1a8c8a.S @@ -5,6 +5,7 @@ func0000000000000003: # @func0000000000000003 lui a1, 2 addiw a1, a1, 1808 maxu a0, a0, a1 - slli.uw a0, a0, 2 - sh1add a0, a0, a0 + zext.w a1, a0 + sh1add.uw a0, a0, a1 + slli a0, a0, 2 ret diff --git a/result/rvb23u64/02bf2e847922788f.S b/result/rvb23u64/02bf2e847922788f.S index 5b7803b3bcd..ac54c123090 100644 --- a/result/rvb23u64/02bf2e847922788f.S +++ b/result/rvb23u64/02bf2e847922788f.S @@ -1,7 +1,7 @@ func0000000000000003: # @func0000000000000003 remuw a1, a1, a2 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 16 ret diff --git a/result/rvb23u64/02f6183fa63dc165.S b/result/rvb23u64/02f6183fa63dc165.S index 1f62b910ec2..5d8bb8b532b 100644 --- a/result/rvb23u64/02f6183fa63dc165.S +++ b/result/rvb23u64/02f6183fa63dc165.S @@ -10,7 +10,8 @@ func000000000000000f: # @func000000000000000f zext.h a1, a1 addi a1, a1, -20 seqz a1, a1 - sh2add a1, a1, a1 - sh3add a0, a1, a0 + slli a2, a1, 5 + sh3add a1, a1, a2 + add a0, a0, a1 addi a0, a0, 104 ret diff --git a/result/rvb23u64/035c571d4dd6ccae.S b/result/rvb23u64/035c571d4dd6ccae.S index 0ea69a75912..bf13dd93958 100644 --- a/result/rvb23u64/035c571d4dd6ccae.S +++ b/result/rvb23u64/035c571d4dd6ccae.S @@ -1,7 +1,7 @@ func0000000000000037: # @func0000000000000037 sh1add a0, a0, a0 - li a1, -24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, -24 lui a1, 699051 addiw a1, a1, -1365 slli a2, a1, 32 @@ -13,8 +13,8 @@ func0000000000000037: # @func0000000000000037 ret func0000000000000022: # @func0000000000000022 sh1add a0, a0, a0 - li a1, -24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, -24 lui a1, 699051 addiw a1, a1, -1365 slli a2, a1, 32 @@ -26,8 +26,8 @@ func0000000000000022: # @func0000000000000022 ret func0000000000000002: # @func0000000000000002 sh1add a0, a0, a0 - li a1, -24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, -24 lui a1, 699051 addiw a1, a1, -1365 slli a2, a1, 32 @@ -39,8 +39,8 @@ func0000000000000002: # @func0000000000000002 ret func0000000000000017: # @func0000000000000017 sh1add a0, a0, a0 - li a1, -24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, -24 lui a1, 699051 addiw a1, a1, -1365 slli a2, a1, 32 @@ -52,8 +52,8 @@ func0000000000000017: # @func0000000000000017 ret func0000000000000016: # @func0000000000000016 sh1add a0, a0, a0 - li a1, -24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, -24 lui a1, 699051 addiw a1, a1, -1365 slli a2, a1, 32 diff --git a/result/rvb23u64/03b69d5e430fdfa7.S b/result/rvb23u64/03b69d5e430fdfa7.S index 13a448b08ae..52de1d33970 100644 --- a/result/rvb23u64/03b69d5e430fdfa7.S +++ b/result/rvb23u64/03b69d5e430fdfa7.S @@ -5,9 +5,11 @@ func000000000000002c: # @func000000000000002c slli a4, a3, 32 add a3, a3, a4 mul a2, a2, a3 - neg a2, a2 - sh2add a2, a2, a2 - sh3add a1, a2, a1 + neg a3, a2 + slli a2, a2, 3 + slli a3, a3, 5 + sub a1, a1, a2 + add a1, a1, a3 sub a0, a1, a0 ret func0000000000000028: # @func0000000000000028 @@ -17,9 +19,11 @@ func0000000000000028: # @func0000000000000028 slli a4, a3, 32 add a3, a3, a4 mul a2, a2, a3 - neg a2, a2 - sh2add a2, a2, a2 - sh3add a1, a2, a1 + neg a3, a2 + slli a2, a2, 3 + slli a3, a3, 5 + sub a1, a1, a2 + add a1, a1, a3 sub a0, a1, a0 ret func000000000000000c: # @func000000000000000c diff --git a/result/rvb23u64/040e4fa3c63b7a5c.S b/result/rvb23u64/040e4fa3c63b7a5c.S index 730b2de2929..31f8366dd67 100644 --- a/result/rvb23u64/040e4fa3c63b7a5c.S +++ b/result/rvb23u64/040e4fa3c63b7a5c.S @@ -1,8 +1,7 @@ func0000000000000000: # @func0000000000000000 sh2add a0, a0, a0 - li a1, 25 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, 25 ret func0000000000000015: # @func0000000000000015 addi a0, a0, -1 diff --git a/result/rvb23u64/05805739bc6fffbc.S b/result/rvb23u64/05805739bc6fffbc.S index f242a5ec4d4..d3b224ed80a 100644 --- a/result/rvb23u64/05805739bc6fffbc.S +++ b/result/rvb23u64/05805739bc6fffbc.S @@ -1,9 +1,7 @@ func00000000000000c0: # @func00000000000000c0 sh1add a2, a2, a2 - slli a2, a2, 3 - srli a2, a2, 2 - add a0, a0, a1 - addw a0, a0, a2 + sh1add a1, a2, a1 + addw a0, a0, a1 ret .LCPI1_0: .quad -8446744073709551616 # 0x8ac7230489e80000 diff --git a/result/rvb23u64/05d7c5c47cecd3f4.S b/result/rvb23u64/05d7c5c47cecd3f4.S index 6d425bf801d..4d0a84d7a38 100644 --- a/result/rvb23u64/05d7c5c47cecd3f4.S +++ b/result/rvb23u64/05d7c5c47cecd3f4.S @@ -1,6 +1,6 @@ func0000000000000025: # @func0000000000000025 subw a1, a1, a0 - srli a1, a1, 1 + sraiw a1, a1, 1 add a0, a0, a1 sh1add a0, a0, a0 slliw a0, a0, 2 diff --git a/result/rvb23u64/05f09640d7ccff8a.S b/result/rvb23u64/05f09640d7ccff8a.S index 0cfe0f4ad8c..bdb185424a2 100644 --- a/result/rvb23u64/05f09640d7ccff8a.S +++ b/result/rvb23u64/05f09640d7ccff8a.S @@ -14,8 +14,8 @@ func00000000000000c0: # @func00000000000000c0 mul a1, a1, a2 add a0, a0, a1 sh1add a0, a0, a0 - li a1, 12 - sh2add a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, 12 ret func0000000000000004: # @func0000000000000004 mul a1, a1, a2 diff --git a/result/rvb23u64/05ff1412db0532f3.S b/result/rvb23u64/05ff1412db0532f3.S index 1e7c3508df6..3978e2b858e 100644 --- a/result/rvb23u64/05ff1412db0532f3.S +++ b/result/rvb23u64/05ff1412db0532f3.S @@ -30,15 +30,15 @@ func000000000000000c: # @func000000000000000c ret func0000000000000002: # @func0000000000000002 addi a1, a1, -1 - zext.w a1, a1 - sh2add a1, a1, a1 + zext.w a2, a1 + sh2add.uw a1, a1, a2 sh2add a0, a1, a0 addi a0, a0, 16 ret func0000000000000012: # @func0000000000000012 addi a1, a1, 1 - zext.w a1, a1 - sh2add a1, a1, a1 + zext.w a2, a1 + sh2add.uw a1, a1, a2 sh2add a0, a1, a0 addi a0, a0, 12 ret diff --git a/result/rvb23u64/0643e227e76733df.S b/result/rvb23u64/0643e227e76733df.S index e5659573c92..27733997376 100644 --- a/result/rvb23u64/0643e227e76733df.S +++ b/result/rvb23u64/0643e227e76733df.S @@ -1,7 +1,9 @@ func0000000000000019: # @func0000000000000019 - neg a2, a2 - sh1add a2, a2, a2 - sh3add a1, a2, a1 + neg a3, a2 + slli a3, a3, 4 + slli a2, a2, 3 + sub a1, a1, a2 + add a1, a1, a3 sub a0, a0, a1 srai a0, a0, 3 lui a1, 699051 diff --git a/result/rvb23u64/06473dc9ff96cea2.S b/result/rvb23u64/06473dc9ff96cea2.S index 8bff38f5bc9..30612a54328 100644 --- a/result/rvb23u64/06473dc9ff96cea2.S +++ b/result/rvb23u64/06473dc9ff96cea2.S @@ -41,8 +41,8 @@ func0000000000000000: # @func0000000000000000 add a0, a0, a1 ret func0000000000000025: # @func0000000000000025 - srliw a1, a1, 16 sh2add a2, a2, a2 + srliw a1, a1, 16 sh1add a1, a2, a1 addw a0, a0, a1 ret @@ -77,8 +77,8 @@ func0000000000000015: # @func0000000000000015 addw a0, a0, a1 ret func000000000000006c: # @func000000000000006c - srli a1, a1, 32 sh2add a2, a2, a2 + srli a1, a1, 32 sh1add a1, a2, a1 add a0, a0, a1 ret diff --git a/result/rvb23u64/070bb2c95affb060.S b/result/rvb23u64/070bb2c95affb060.S index 0687191969f..57682215877 100644 --- a/result/rvb23u64/070bb2c95affb060.S +++ b/result/rvb23u64/070bb2c95affb060.S @@ -1,8 +1,8 @@ func00000000000000d4: # @func00000000000000d4 - zext.w a0, a0 - sh1add a0, a0, a0 - li a1, -12 - sh2add a0, a0, a1 + zext.w a1, a0 + sh1add.uw a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, -12 sltiu a0, a0, 384 ret func00000000000000d1: # @func00000000000000d1 diff --git a/result/rvb23u64/07500989a1f31aaa.S b/result/rvb23u64/07500989a1f31aaa.S index 38e8f25e35e..92f72c31d88 100644 --- a/result/rvb23u64/07500989a1f31aaa.S +++ b/result/rvb23u64/07500989a1f31aaa.S @@ -5,7 +5,7 @@ func0000000000000006: # @func0000000000000006 slt a0, a0, a1 ret func0000000000000004: # @func0000000000000004 - li a1, 130 - mul a1, a1, a0 + slli a1, a0, 7 + sh1add a1, a0, a1 sltu a0, a1, a0 ret diff --git a/result/rvb23u64/07ae12574be28780.S b/result/rvb23u64/07ae12574be28780.S index 4268dd3af9d..572e0cf9502 100644 --- a/result/rvb23u64/07ae12574be28780.S +++ b/result/rvb23u64/07ae12574be28780.S @@ -33,17 +33,15 @@ func00000000000000d7: # @func00000000000000d7 sh2add a1, a1, a1 sh1add a0, a1, a0 sh2add a0, a0, a0 - li a1, -480 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, -480 ret func0000000000000041: # @func0000000000000041 sh2add a1, a1, a1 sh1add a0, a1, a0 sh2add a0, a0, a0 - li a1, -480 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, -480 ret func00000000000000f0: # @func00000000000000f0 li a2, 37 diff --git a/result/rvb23u64/07f6bc175eb44ca0.S b/result/rvb23u64/07f6bc175eb44ca0.S index 1af24248d91..485eaee8803 100644 --- a/result/rvb23u64/07f6bc175eb44ca0.S +++ b/result/rvb23u64/07f6bc175eb44ca0.S @@ -1,6 +1,6 @@ func00000000000000c1: # @func00000000000000c1 - zext.w a2, a2 - sh1add a2, a2, a2 + zext.w a3, a2 + sh1add.uw a2, a2, a3 sh2add a1, a2, a1 addi a1, a1, 28 xor a0, a0, a1 diff --git a/result/rvb23u64/083a58abdb5c4709.S b/result/rvb23u64/083a58abdb5c4709.S index 6d1e68cc646..e85b8617c2d 100644 --- a/result/rvb23u64/083a58abdb5c4709.S +++ b/result/rvb23u64/083a58abdb5c4709.S @@ -1,6 +1,6 @@ func0000000000000003: # @func0000000000000003 sext.w a0, a0 sh2add a0, a0, a0 - li a1, 8 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 8 ret diff --git a/result/rvb23u64/093eb28b11572b79.S b/result/rvb23u64/093eb28b11572b79.S index 6560312a0d9..8eec49edfd4 100644 --- a/result/rvb23u64/093eb28b11572b79.S +++ b/result/rvb23u64/093eb28b11572b79.S @@ -1,5 +1,6 @@ func000000000000000d: # @func000000000000000d - zext.w a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 lui a2, 699051 addiw a2, a2, -1365 slli a3, a2, 32 @@ -9,11 +10,11 @@ func000000000000000d: # @func000000000000000d sh1add a2, a2, a2 slli a2, a2, 2 sub a2, a2, a0 - sh1add a0, a1, a1 - sh2add a0, a0, a2 + sh2add a0, a1, a2 ret func000000000000000f: # @func000000000000000f - zext.w a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 lui a2, 699051 addiw a2, a2, -1365 slli a3, a2, 32 @@ -23,8 +24,7 @@ func000000000000000f: # @func000000000000000f sh1add a2, a2, a2 slli a2, a2, 2 sub a2, a2, a0 - sh1add a0, a1, a1 - sh2add a0, a0, a2 + sh2add a0, a1, a2 ret .LCPI2_0: .quad -7515340178177965473 # 0x97b425ed097b425f diff --git a/result/rvb23u64/09644b5da4efef0e.S b/result/rvb23u64/09644b5da4efef0e.S index f33d5e5eec7..a3dec78ed48 100644 --- a/result/rvb23u64/09644b5da4efef0e.S +++ b/result/rvb23u64/09644b5da4efef0e.S @@ -1,6 +1,6 @@ func0000000000000010: # @func0000000000000010 - zext.w a2, a2 - sh1add a2, a2, a2 + zext.w a3, a2 + sh1add.uw a2, a2, a3 sh2add a1, a2, a1 sub a0, a1, a0 addi a0, a0, -12 diff --git a/result/rvb23u64/0a2da400a5e0da4b.S b/result/rvb23u64/0a2da400a5e0da4b.S index 5159999415a..9e0143807d4 100644 --- a/result/rvb23u64/0a2da400a5e0da4b.S +++ b/result/rvb23u64/0a2da400a5e0da4b.S @@ -5,9 +5,9 @@ func0000000000000000: # @func0000000000000000 sh3add a0, a0, a0 ret func0000000000000053: # @func0000000000000053 + sh1add a2, a2, a2 add a0, a0, a1 - sh1add a1, a2, a2 - sh2add a0, a1, a0 + sh2add a0, a2, a0 sh2add a0, a0, a0 slli a0, a0, 3 ret diff --git a/result/rvb23u64/0ac87b2eb98d4759.S b/result/rvb23u64/0ac87b2eb98d4759.S index fff0ec590c4..745ae828180 100644 --- a/result/rvb23u64/0ac87b2eb98d4759.S +++ b/result/rvb23u64/0ac87b2eb98d4759.S @@ -1,7 +1,8 @@ func0000000000000371: # @func0000000000000371 addi a2, a2, 1 - srli a2, a2, 1 - sh1add a2, a2, a2 + srli a3, a2, 1 + andi a2, a2, -2 + add a2, a2, a3 sh3add a1, a2, a1 xor a0, a0, a1 seqz a0, a0 diff --git a/result/rvb23u64/0ae344397e454296.S b/result/rvb23u64/0ae344397e454296.S index 9482b6a80f8..f83ef6dabfa 100644 --- a/result/rvb23u64/0ae344397e454296.S +++ b/result/rvb23u64/0ae344397e454296.S @@ -5,8 +5,8 @@ func00000000000000e4: # @func00000000000000e4 sltu a0, a0, a1 ret func0000000000000071: # @func0000000000000071 - zext.w a2, a2 - sh1add a2, a2, a2 + zext.w a3, a2 + sh1add.uw a2, a2, a3 sh1add a1, a2, a1 addi a1, a1, -6 addi a0, a0, 6 diff --git a/result/rvb23u64/0b34d0f6248047df.S b/result/rvb23u64/0b34d0f6248047df.S index 882f1ac2f4d..64e3c477058 100644 --- a/result/rvb23u64/0b34d0f6248047df.S +++ b/result/rvb23u64/0b34d0f6248047df.S @@ -1,9 +1,9 @@ func000000000000000b: # @func000000000000000b andi a0, a0, 1 addi a2, a2, -2 - zext.w a2, a2 + zext.w a3, a2 czero.nez a0, a1, a0 - sh1add a1, a2, a2 + sh1add.uw a1, a2, a3 sh2add a0, a1, a0 addi a0, a0, 32 ret diff --git a/result/rvb23u64/0b6a3f21eb004c78.S b/result/rvb23u64/0b6a3f21eb004c78.S index 3590d6f8c57..ad0cf51fc3d 100644 --- a/result/rvb23u64/0b6a3f21eb004c78.S +++ b/result/rvb23u64/0b6a3f21eb004c78.S @@ -1,14 +1,14 @@ func0000000000000018: # @func0000000000000018 sh1add a1, a1, a1 - slli a1, a1, 1 - zext.w a1, a1 + slli a1, a1, 33 + srli a1, a1, 32 srai a0, a0, 1 sltu a0, a1, a0 ret func0000000000000014: # @func0000000000000014 sh1add a1, a1, a1 - slli a1, a1, 1 - zext.w a1, a1 + slli a1, a1, 33 + srli a1, a1, 32 srai a0, a0, 1 sltu a0, a0, a1 ret diff --git a/result/rvb23u64/0bf21f77cae8f585.S b/result/rvb23u64/0bf21f77cae8f585.S index 7186be4b620..39bfa36d41b 100644 --- a/result/rvb23u64/0bf21f77cae8f585.S +++ b/result/rvb23u64/0bf21f77cae8f585.S @@ -20,8 +20,9 @@ func000000000000001f: # @func000000000000001f addiw a0, a0, 44 ret func0000000000000010: # @func0000000000000010 - srli a0, a0, 3 - sh1add a0, a0, a0 + srli a1, a0, 3 + srli a0, a0, 2 + add a0, a0, a1 lui a1, 32767 slli a1, a1, 5 addi a1, a1, 44 @@ -60,9 +61,9 @@ func000000000000000e: # @func000000000000000e addi a0, a0, 1 ret func0000000000000007: # @func0000000000000007 - srliw a0, a0, 3 - sh1add a0, a0, a0 - li a1, 2000 - sh2add a0, a0, a1 - sext.w a0, a0 + srliw a1, a0, 3 + srli a0, a0, 3 + sh1add a0, a0, a1 + slli a0, a0, 2 + addiw a0, a0, 2000 ret diff --git a/result/rvb23u64/0c1308ced5dfa2c0.S b/result/rvb23u64/0c1308ced5dfa2c0.S index 7d4126344cc..ed305679f54 100644 --- a/result/rvb23u64/0c1308ced5dfa2c0.S +++ b/result/rvb23u64/0c1308ced5dfa2c0.S @@ -7,6 +7,6 @@ func0000000000000008: # @func0000000000000008 mulhu a0, a0, a1 srli a0, a0, 3 sh1add a0, a0, a0 - li a1, 12 - sh2add a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, 12 ret diff --git a/result/rvb23u64/0c5084505e8d0c3c.S b/result/rvb23u64/0c5084505e8d0c3c.S index 1ff7b74ce32..20f130c7f9d 100644 --- a/result/rvb23u64/0c5084505e8d0c3c.S +++ b/result/rvb23u64/0c5084505e8d0c3c.S @@ -110,8 +110,8 @@ func00000000000000f7: # @func00000000000000f7 sext.w a0, a0 ret func00000000000000cc: # @func00000000000000cc - zext.w a2, a2 - sh2add a2, a2, a2 + zext.w a3, a2 + sh2add.uw a2, a2, a3 sh1add a0, a2, a0 sh2add a1, a1, a1 slli a1, a1, 33 diff --git a/result/rvb23u64/0cbde5b30d0bfd5c.S b/result/rvb23u64/0cbde5b30d0bfd5c.S index 8f5f467713e..03d4b601103 100644 --- a/result/rvb23u64/0cbde5b30d0bfd5c.S +++ b/result/rvb23u64/0cbde5b30d0bfd5c.S @@ -25,15 +25,15 @@ func0000000000000039: # @func0000000000000039 ret func000000000000000a: # @func000000000000000a sh1add a1, a2, a1 - li a2, 136 - mul a1, a1, a2 + slli a2, a1, 7 + sh3add a1, a1, a2 add a0, a0, a1 addi a0, a0, 136 ret func000000000000001a: # @func000000000000001a sh1add a1, a2, a1 - li a2, 136 - mul a1, a1, a2 + slli a2, a1, 7 + sh3add a1, a1, a2 add a0, a0, a1 addi a0, a0, 136 ret diff --git a/result/rvb23u64/0cd219b16338e0d7.S b/result/rvb23u64/0cd219b16338e0d7.S index b30811d44b4..fe173a940d2 100644 --- a/result/rvb23u64/0cd219b16338e0d7.S +++ b/result/rvb23u64/0cd219b16338e0d7.S @@ -1,7 +1,8 @@ func0000000000000074: # @func0000000000000074 sext.w a0, a0 slli a1, a1, 50 - lui a2, 72 - mulhu a1, a1, a2 + srli a1, a1, 50 + sh3add a1, a1, a1 + slli a1, a1, 1 sltu a0, a0, a1 ret diff --git a/result/rvb23u64/0d25e70bf5ca7f84.S b/result/rvb23u64/0d25e70bf5ca7f84.S index b04b568c553..f09872acc51 100644 --- a/result/rvb23u64/0d25e70bf5ca7f84.S +++ b/result/rvb23u64/0d25e70bf5ca7f84.S @@ -6,8 +6,8 @@ func000000000000000b: # @func000000000000000b add a2, a2, a3 mul a1, a1, a2 addi a1, a1, -1 - zext.w a1, a1 - sh2add a1, a1, a1 + zext.w a2, a1 + sh2add.uw a1, a1, a2 sh2add a0, a1, a0 ret func000000000000000a: # @func000000000000000a diff --git a/result/rvb23u64/0d61fe8597e32536.S b/result/rvb23u64/0d61fe8597e32536.S index 5f47b733ce9..1d8a453a26d 100644 --- a/result/rvb23u64/0d61fe8597e32536.S +++ b/result/rvb23u64/0d61fe8597e32536.S @@ -1,7 +1,8 @@ func0000000000000004: # @func0000000000000004 addi a1, a1, -36 - srli a1, a1, 2 - sh2add a1, a1, a1 + srli a2, a1, 2 + andi a1, a1, -4 + add a1, a1, a2 sh2add a0, a1, a0 addi a0, a0, 8 ret diff --git a/result/rvb23u64/0d85c3c9c546043e.S b/result/rvb23u64/0d85c3c9c546043e.S index 99df63d19ff..35211b9630c 100644 --- a/result/rvb23u64/0d85c3c9c546043e.S +++ b/result/rvb23u64/0d85c3c9c546043e.S @@ -1,8 +1,9 @@ func0000000000000059: # @func0000000000000059 slt a1, a1, a2 xori a1, a1, 1 - sh2add a1, a1, a1 - sh3add a0, a1, a0 + slli a2, a1, 5 + sh3add a1, a1, a2 + add a0, a0, a1 addi a0, a0, 24 ret func0000000000000061: # @func0000000000000061 diff --git a/result/rvb23u64/0f064e8ac89079df.S b/result/rvb23u64/0f064e8ac89079df.S index 07a83cd9dad..f400d8fd612 100644 --- a/result/rvb23u64/0f064e8ac89079df.S +++ b/result/rvb23u64/0f064e8ac89079df.S @@ -4,9 +4,11 @@ func0000000000000003: # @func0000000000000003 lui a1, %hi(.LCPI0_0) ld a1, %lo(.LCPI0_0)(a1) mulhu a0, a0, a1 - srli a0, a0, 18 - slli.uw a0, a0, 3 - sh1add a0, a0, a0 + srli a1, a0, 18 + slli a0, a0, 14 + srli a0, a0, 32 + sh1add.uw a0, a1, a0 + slli a0, a0, 3 ret .LCPI1_0: .quad 19342813113834067 # 0x44b82fa09b5a53 diff --git a/result/rvb23u64/0f9e3b1789af814b.S b/result/rvb23u64/0f9e3b1789af814b.S index feba689f2b7..ae7c1c611d4 100644 --- a/result/rvb23u64/0f9e3b1789af814b.S +++ b/result/rvb23u64/0f9e3b1789af814b.S @@ -1,7 +1,7 @@ func0000000000000002: # @func0000000000000002 sh1add a0, a0, a0 - li a1, 1 - sh1add a0, a0, a1 + slli a0, a0, 1 + addi a0, a0, 1 zext.w a0, a0 ret func0000000000000007: # @func0000000000000007 diff --git a/result/rvb23u64/0faae2401cd1ba65.S b/result/rvb23u64/0faae2401cd1ba65.S index 0b74b0e0408..31da16c2c29 100644 --- a/result/rvb23u64/0faae2401cd1ba65.S +++ b/result/rvb23u64/0faae2401cd1ba65.S @@ -4,10 +4,11 @@ func000000000000000c: # @func000000000000000c slli a2, a1, 32 add a1, a1, a2 mulhu a0, a0, a1 - srli a0, a0, 1 - sh1add a0, a0, a0 - li a1, 6 - sh1add a0, a0, a1 + srli a1, a0, 1 + andi a0, a0, -2 + add a0, a0, a1 + slli a0, a0, 1 + addi a0, a0, 6 ret func0000000000000007: # @func0000000000000007 slli a0, a0, 32 @@ -28,9 +29,8 @@ func0000000000000005: # @func0000000000000005 mulhu a0, a0, a1 srli a0, a0, 34 sh1add a0, a0, a0 - li a1, -6 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, -6 ret func000000000000000f: # @func000000000000000f zext.w a0, a0 diff --git a/result/rvb23u64/0fb874e6a696d54d.S b/result/rvb23u64/0fb874e6a696d54d.S index a0058aee495..d55c0d3b917 100644 --- a/result/rvb23u64/0fb874e6a696d54d.S +++ b/result/rvb23u64/0fb874e6a696d54d.S @@ -106,8 +106,8 @@ func0000000000000028: # @func0000000000000028 sltu a0, a1, a0 ret func0000000000000004: # @func0000000000000004 - zext.w a2, a2 - sh2add a2, a2, a2 + zext.w a3, a2 + sh2add.uw a2, a2, a3 sh3add a1, a2, a1 addi a1, a1, 120 sltu a0, a0, a1 diff --git a/result/rvb23u64/0fc98d8c128d1507.S b/result/rvb23u64/0fc98d8c128d1507.S index e3e8af813ac..887872a241a 100644 --- a/result/rvb23u64/0fc98d8c128d1507.S +++ b/result/rvb23u64/0fc98d8c128d1507.S @@ -1,7 +1,7 @@ func000000000000003f: # @func000000000000003f sext.b a1, a1 - sext.b a0, a0 sh2add a1, a1, a1 + sext.b a0, a0 sh1add a0, a1, a0 li a1, 60 mul a0, a0, a1 diff --git a/result/rvb23u64/1048d0e7f8c89877.S b/result/rvb23u64/1048d0e7f8c89877.S index 4db82172697..22f997b7153 100644 --- a/result/rvb23u64/1048d0e7f8c89877.S +++ b/result/rvb23u64/1048d0e7f8c89877.S @@ -9,7 +9,7 @@ func00000000000000ff: # @func00000000000000ff func0000000000000030: # @func0000000000000030 andi a1, a1, 255 sh1add a1, a1, a1 - slli a1, a1, 1 - sh3add a0, a0, a1 + sh2add a0, a0, a1 + slli a0, a0, 1 addiw a0, a0, 16 ret diff --git a/result/rvb23u64/10657dd8ab7112b6.S b/result/rvb23u64/10657dd8ab7112b6.S index e0d04490fa5..ee527adb561 100644 --- a/result/rvb23u64/10657dd8ab7112b6.S +++ b/result/rvb23u64/10657dd8ab7112b6.S @@ -4,8 +4,8 @@ func0000000000000000: # @func0000000000000000 ret func0000000000000015: # @func0000000000000015 sh1add a0, a0, a0 - li a1, 1 - sh1add a0, a0, a1 + slli a0, a0, 1 + addi a0, a0, 1 ret func0000000000000010: # @func0000000000000010 li a1, 50 diff --git a/result/rvb23u64/10b92800de9f4645.S b/result/rvb23u64/10b92800de9f4645.S index 7b17eb6e7bc..5017526919a 100644 --- a/result/rvb23u64/10b92800de9f4645.S +++ b/result/rvb23u64/10b92800de9f4645.S @@ -6,8 +6,8 @@ func0000000000000014: # @func0000000000000014 add a0, a0, a1 ret func0000000000000044: # @func0000000000000044 - srai a1, a1, 3 - sh3add a1, a1, a1 + srai a2, a1, 3 + add a1, a1, a2 sh2add a0, a1, a0 ret func000000000000005c: # @func000000000000005c diff --git a/result/rvb23u64/10d32078dc9ab93f.S b/result/rvb23u64/10d32078dc9ab93f.S index af789b04567..01bb019e9ae 100644 --- a/result/rvb23u64/10d32078dc9ab93f.S +++ b/result/rvb23u64/10d32078dc9ab93f.S @@ -23,9 +23,9 @@ func000000000000000f: # @func000000000000000f ret func000000000000001c: # @func000000000000001c sext.w a2, a2 + sh1add a2, a2, a2 add a0, a0, a1 - sh1add a1, a2, a2 - sh2add a0, a1, a0 + sh2add a0, a2, a0 ret func0000000000000004: # @func0000000000000004 add a0, a0, a1 @@ -34,7 +34,7 @@ func0000000000000004: # @func0000000000000004 ret func000000000000001f: # @func000000000000001f sext.w a2, a2 + sh1add a2, a2, a2 add a0, a0, a1 - sh1add a1, a2, a2 - sh3add a0, a1, a0 + sh3add a0, a2, a0 ret diff --git a/result/rvb23u64/118d3ceaec86d74f.S b/result/rvb23u64/118d3ceaec86d74f.S index ed226a424cf..297c262ff1d 100644 --- a/result/rvb23u64/118d3ceaec86d74f.S +++ b/result/rvb23u64/118d3ceaec86d74f.S @@ -1,7 +1,7 @@ func0000000000000001: # @func0000000000000001 subw a1, a1, a2 addi a1, a1, 1 - zext.w a1, a1 - sh2add a1, a1, a1 + zext.w a2, a1 + sh2add.uw a1, a1, a2 sh3add a0, a1, a0 ret diff --git a/result/rvb23u64/11c1249e955bc3b7.S b/result/rvb23u64/11c1249e955bc3b7.S index 5d72a770f50..a8749d6abe0 100644 --- a/result/rvb23u64/11c1249e955bc3b7.S +++ b/result/rvb23u64/11c1249e955bc3b7.S @@ -36,8 +36,8 @@ func000000000000001a: # @func000000000000001a slli a0, a0, 50 srli a0, a0, 50 sh1add a0, a0, a0 - li a1, -1260 - sh1add a0, a0, a1 + slli a0, a0, 1 + addi a0, a0, -1260 zext.w a1, a0 lui a2, 149797 addiw a2, a2, -1755 diff --git a/result/rvb23u64/11ec19dcb157c053.S b/result/rvb23u64/11ec19dcb157c053.S index c04a8ea4264..cbe53fba254 100644 --- a/result/rvb23u64/11ec19dcb157c053.S +++ b/result/rvb23u64/11ec19dcb157c053.S @@ -1,7 +1,7 @@ func0000000000000013: # @func0000000000000013 sh2add a0, a0, a0 - slli a0, a0, 3 - andi a0, a0, 248 + slli a0, a0, 59 + srli a0, a0, 56 addi a0, a0, 19 andi a0, a0, 496 ret diff --git a/result/rvb23u64/1251aea86d1cd7d4.S b/result/rvb23u64/1251aea86d1cd7d4.S index d9490136f41..6538cdfed73 100644 --- a/result/rvb23u64/1251aea86d1cd7d4.S +++ b/result/rvb23u64/1251aea86d1cd7d4.S @@ -2,8 +2,9 @@ func0000000000000003: # @func0000000000000003 sext.w a0, a0 li a1, 4 maxu a0, a0, a1 - slli.uw a0, a0, 3 - sh1add a0, a0, a0 + zext.w a1, a0 + sh1add.uw a0, a0, a1 + slli a0, a0, 3 ret func0000000000000007: # @func0000000000000007 sext.w a0, a0 diff --git a/result/rvb23u64/12ae2bd7c8ed7c42.S b/result/rvb23u64/12ae2bd7c8ed7c42.S index 18568aa567f..36065f38204 100644 --- a/result/rvb23u64/12ae2bd7c8ed7c42.S +++ b/result/rvb23u64/12ae2bd7c8ed7c42.S @@ -1,7 +1,7 @@ func0000000000000004: # @func0000000000000004 sh1add a1, a1, a1 - li a2, 15 - sh3add a1, a1, a2 + slli a1, a1, 3 + addi a1, a1, 15 andi a1, a1, -16 add a0, a0, a1 sltu a1, a0, a1 diff --git a/result/rvb23u64/12f8ffa877e7f8bf.S b/result/rvb23u64/12f8ffa877e7f8bf.S index 15ec56be28c..ba9a0fe38fe 100644 --- a/result/rvb23u64/12f8ffa877e7f8bf.S +++ b/result/rvb23u64/12f8ffa877e7f8bf.S @@ -6,8 +6,8 @@ func0000000000000017: # @func0000000000000017 add a2, a2, a3 mul a1, a1, a2 addi a1, a1, -2 - srai a1, a1, 1 - sh1add a1, a1, a1 + srli a2, a1, 1 + add a1, a1, a2 sh2add a0, a1, a0 ret func0000000000000016: # @func0000000000000016 @@ -18,7 +18,7 @@ func0000000000000016: # @func0000000000000016 add a2, a2, a3 mul a1, a1, a2 addi a1, a1, -2 - srai a1, a1, 1 - sh1add a1, a1, a1 + srli a2, a1, 1 + add a1, a1, a2 sh3add a0, a1, a0 ret diff --git a/result/rvb23u64/131362498e4e6c7c.S b/result/rvb23u64/131362498e4e6c7c.S index d0f43480d73..9b111ac2ffa 100644 --- a/result/rvb23u64/131362498e4e6c7c.S +++ b/result/rvb23u64/131362498e4e6c7c.S @@ -6,8 +6,8 @@ func00000000000000c8: # @func00000000000000c8 sltu a0, a0, a1 ret func00000000000000f8: # @func00000000000000f8 - zext.w a2, a2 - sh1add a2, a2, a2 + zext.w a3, a2 + sh1add.uw a2, a2, a3 sh2add a1, a2, a1 sltu a0, a0, a1 ret diff --git a/result/rvb23u64/1331cff0898d22f2.S b/result/rvb23u64/1331cff0898d22f2.S index c5e28d1932d..9b8eea97495 100644 --- a/result/rvb23u64/1331cff0898d22f2.S +++ b/result/rvb23u64/1331cff0898d22f2.S @@ -6,8 +6,8 @@ func0000000000000004: # @func0000000000000004 ret func0000000000000007: # @func0000000000000007 andi a2, a2, 255 - li a3, 132 - mul a2, a2, a3 + slli a3, a2, 7 + sh2add a2, a2, a3 add a1, a1, a2 sh2add a0, a0, a1 addi a0, a0, 148 diff --git a/result/rvb23u64/13ac3b8c92d45eee.S b/result/rvb23u64/13ac3b8c92d45eee.S index 6747ca5f1aa..b317b1631f3 100644 --- a/result/rvb23u64/13ac3b8c92d45eee.S +++ b/result/rvb23u64/13ac3b8c92d45eee.S @@ -1,9 +1,9 @@ func000000000000001c: # @func000000000000001c li a3, 7 sub a3, a3, a2 + sh3add a2, a3, a3 add a0, a0, a1 - sh3add a1, a3, a3 - sh3add a0, a1, a0 + sh3add a0, a2, a0 ret func000000000000003f: # @func000000000000003f li a3, 31 diff --git a/result/rvb23u64/13c15559e86b0933.S b/result/rvb23u64/13c15559e86b0933.S index 5e90b296332..6c0765cac2e 100644 --- a/result/rvb23u64/13c15559e86b0933.S +++ b/result/rvb23u64/13c15559e86b0933.S @@ -5,9 +5,11 @@ func0000000000000014: # @func0000000000000014 slli a3, a2, 32 add a2, a2, a3 mul a1, a1, a2 - neg a1, a1 - sh1add a1, a1, a1 - sh3add a0, a1, a0 + neg a2, a1 + slli a1, a1, 3 + slli a2, a2, 4 + sub a0, a0, a1 + add a0, a0, a2 addi a0, a0, -24 ret func0000000000000004: # @func0000000000000004 diff --git a/result/rvb23u64/145bf494d514395d.S b/result/rvb23u64/145bf494d514395d.S index 7898d59c885..76bce31b72b 100644 --- a/result/rvb23u64/145bf494d514395d.S +++ b/result/rvb23u64/145bf494d514395d.S @@ -18,9 +18,9 @@ func0000000000000055: # @func0000000000000055 mul a0, a0, a1 ret func0000000000000000: # @func0000000000000000 + sh1add a2, a2, a2 subw a0, a0, a1 - sh1add a1, a2, a2 - sh3add a0, a1, a0 + sh3add a0, a2, a0 li a1, 60 mulw a0, a0, a1 ret diff --git a/result/rvb23u64/148d0a8b8b472b6e.S b/result/rvb23u64/148d0a8b8b472b6e.S index 32a8a018218..9934b51ed5f 100644 --- a/result/rvb23u64/148d0a8b8b472b6e.S +++ b/result/rvb23u64/148d0a8b8b472b6e.S @@ -6,8 +6,8 @@ func0000000000000003: # @func0000000000000003 sh3add a0, a1, a0 ret func0000000000000000: # @func0000000000000000 - zext.w a2, a2 - sh3add a2, a2, a2 + zext.w a3, a2 + sh3add.uw a2, a2, a3 sh3add a0, a2, a0 sext.w a1, a1 slli a1, a1, 4 diff --git a/result/rvb23u64/15008b6ad9a37a71.S b/result/rvb23u64/15008b6ad9a37a71.S index 91bfb993742..cdb9f05cd0d 100644 --- a/result/rvb23u64/15008b6ad9a37a71.S +++ b/result/rvb23u64/15008b6ad9a37a71.S @@ -13,8 +13,8 @@ func000000000000003c: # @func000000000000003c ret func0000000000000004: # @func0000000000000004 addi a2, a2, -1 - zext.w a2, a2 - sh1add a2, a2, a2 + zext.w a3, a2 + sh1add.uw a2, a2, a3 sh3add a1, a2, a1 sub a0, a1, a0 ret diff --git a/result/rvb23u64/1550242bcd4ccc6b.S b/result/rvb23u64/1550242bcd4ccc6b.S index e14c8d323b7..4af171ae755 100644 --- a/result/rvb23u64/1550242bcd4ccc6b.S +++ b/result/rvb23u64/1550242bcd4ccc6b.S @@ -1,7 +1,8 @@ func0000000000000007: # @func0000000000000007 bext a1, a1, a2 - sh1add a1, a1, a1 - sh2add a0, a1, a0 + slli a2, a1, 2 + sh3add a1, a1, a2 + add a0, a0, a1 addi a0, a0, 4 ret func0000000000000005: # @func0000000000000005 diff --git a/result/rvb23u64/1572a89f3b15dbbf.S b/result/rvb23u64/1572a89f3b15dbbf.S index 5e617647042..9228f4f9a35 100644 --- a/result/rvb23u64/1572a89f3b15dbbf.S +++ b/result/rvb23u64/1572a89f3b15dbbf.S @@ -1,7 +1,7 @@ func0000000000000000: # @func0000000000000000 sh1add a1, a1, a1 - li a2, 3 - sh1add a1, a1, a2 + slli a1, a1, 1 + addi a1, a1, 3 li a2, 7 sllw a1, a2, a1 andn a0, a0, a1 diff --git a/result/rvb23u64/16c400f9cc75206b.S b/result/rvb23u64/16c400f9cc75206b.S index d4dd0cfb906..273042647ed 100644 --- a/result/rvb23u64/16c400f9cc75206b.S +++ b/result/rvb23u64/16c400f9cc75206b.S @@ -1,10 +1,14 @@ func0000000000000017: # @func0000000000000017 - neg a2, a2 - sh1add a2, a2, a2 - sh2add a0, a2, a0 - neg a1, a1 - sh1add a1, a1, a1 - sh2add a0, a1, a0 + neg a3, a2 + slli a3, a3, 3 + slli a2, a2, 2 + sub a0, a0, a2 + add a0, a0, a3 + neg a2, a1 + slli a2, a2, 3 + slli a1, a1, 2 + sub a2, a2, a1 + add a0, a0, a2 ret func0000000000000014: # @func0000000000000014 slli a2, a2, 3 diff --git a/result/rvb23u64/1773a08f00f8ff77.S b/result/rvb23u64/1773a08f00f8ff77.S index 15ef753c565..49333f7e215 100644 --- a/result/rvb23u64/1773a08f00f8ff77.S +++ b/result/rvb23u64/1773a08f00f8ff77.S @@ -18,8 +18,8 @@ func0000000000000000: # @func0000000000000000 addi a0, a0, 20 ret func0000000000000002: # @func0000000000000002 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 22 ret diff --git a/result/rvb23u64/178c3e60eab2df00.S b/result/rvb23u64/178c3e60eab2df00.S index e944629fa15..204b08c1b53 100644 --- a/result/rvb23u64/178c3e60eab2df00.S +++ b/result/rvb23u64/178c3e60eab2df00.S @@ -27,9 +27,11 @@ func0000000000000007: # @func0000000000000007 func0000000000000014: # @func0000000000000014 sh2add a2, a2, a2 sh2add a0, a2, a0 - neg a1, a1 - sh2add a1, a1, a1 - sh2add a0, a1, a0 + neg a2, a1 + slli a2, a2, 4 + slli a1, a1, 2 + sub a2, a2, a1 + add a0, a0, a2 addi a0, a0, -20 ret func0000000000000037: # @func0000000000000037 diff --git a/result/rvb23u64/17bff90ac0b9a1f3.S b/result/rvb23u64/17bff90ac0b9a1f3.S index 9e8d24fd387..607b7e8928f 100644 --- a/result/rvb23u64/17bff90ac0b9a1f3.S +++ b/result/rvb23u64/17bff90ac0b9a1f3.S @@ -13,7 +13,6 @@ func00000000000001d7: # @func00000000000001d7 sh2add a1, a1, a1 sh1add a0, a1, a0 sh2add a0, a0, a0 - li a1, -480 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, -480 ret diff --git a/result/rvb23u64/17c39492317951b1.S b/result/rvb23u64/17c39492317951b1.S index abb43a08a47..d2f6b00f5e6 100644 --- a/result/rvb23u64/17c39492317951b1.S +++ b/result/rvb23u64/17c39492317951b1.S @@ -1,6 +1,6 @@ func0000000000000040: # @func0000000000000040 + sh1add a2, a2, a2 or a0, a0, a1 - sh1add a1, a2, a2 - sh2add a0, a1, a0 + sh2add a0, a2, a0 addiw a0, a0, 6 ret diff --git a/result/rvb23u64/18262fb2e54f7d52.S b/result/rvb23u64/18262fb2e54f7d52.S index c706b9023bd..90404d91066 100644 --- a/result/rvb23u64/18262fb2e54f7d52.S +++ b/result/rvb23u64/18262fb2e54f7d52.S @@ -1,6 +1,7 @@ func000000000000002c: # @func000000000000002c - srai a0, a0, 32 - sh1add a0, a0, a0 + srai a1, a0, 32 + srai a0, a0, 31 + add a0, a0, a1 slli a0, a0, 3 srli a0, a0, 2 ret diff --git a/result/rvb23u64/18445571b5de83b0.S b/result/rvb23u64/18445571b5de83b0.S index ef27ade8770..ec4b96ef8fa 100644 --- a/result/rvb23u64/18445571b5de83b0.S +++ b/result/rvb23u64/18445571b5de83b0.S @@ -1,8 +1,8 @@ func000000000000003f: # @func000000000000003f andi a1, a1, 15 + sh2add a1, a1, a1 li a2, 100 mul a0, a0, a2 - sh2add a1, a1, a1 sh1add a0, a1, a0 sext.w a0, a0 ret diff --git a/result/rvb23u64/1889529f40beffed.S b/result/rvb23u64/1889529f40beffed.S index ee409bb593a..f7bc30254b5 100644 --- a/result/rvb23u64/1889529f40beffed.S +++ b/result/rvb23u64/1889529f40beffed.S @@ -12,9 +12,9 @@ func0000000000000015: # @func0000000000000015 sh1add a1, a1, a4 sh2add a0, a0, a0 slli a4, a0, 1 - add a1, a1, a3 - add a0, a4, a2 + sh1add a0, a0, a2 sltu a2, a0, a4 + add a1, a1, a3 add a1, a1, a2 ret func000000000000001d: # @func000000000000001d diff --git a/result/rvb23u64/188d097d9ec61ed8.S b/result/rvb23u64/188d097d9ec61ed8.S index dd15ed28b34..9be42ccb04c 100644 --- a/result/rvb23u64/188d097d9ec61ed8.S +++ b/result/rvb23u64/188d097d9ec61ed8.S @@ -1,9 +1,11 @@ func0000000000000023: # @func0000000000000023 zext.h a2, a2 - neg a1, a1 - sub a1, a1, a2 - sh1add a1, a1, a1 - sh3add a0, a1, a0 + add a1, a1, a2 + neg a2, a1 + slli a1, a1, 3 + slli a2, a2, 4 + sub a0, a0, a1 + add a0, a0, a2 ret func0000000000000001: # @func0000000000000001 add.uw a1, a2, a1 diff --git a/result/rvb23u64/1a5bca965fda8c68.S b/result/rvb23u64/1a5bca965fda8c68.S index 712f1c2cef2..7b4207af29b 100644 --- a/result/rvb23u64/1a5bca965fda8c68.S +++ b/result/rvb23u64/1a5bca965fda8c68.S @@ -1,8 +1,8 @@ func0000000000000000: # @func0000000000000000 andi a0, a0, 1 + sh1add a2, a2, a2 czero.nez a0, a1, a0 - sh1add a1, a2, a2 - sh1add a0, a1, a0 + sh1add a0, a2, a0 sext.w a0, a0 ret func0000000000000004: # @func0000000000000004 @@ -19,16 +19,16 @@ func0000000000000004: # @func0000000000000004 ret func000000000000000a: # @func000000000000000a andi a0, a0, 1 + sh2add a2, a2, a2 czero.nez a0, a1, a0 - sh2add a1, a2, a2 - sh1add a0, a1, a0 + sh1add a0, a2, a0 ret func000000000000000c: # @func000000000000000c andi a0, a0, 1 + sh1add a2, a2, a2 czero.nez a1, a1, a0 li a3, 16 czero.eqz a0, a3, a0 or a0, a0, a1 - sh1add a1, a2, a2 - sh1add a0, a1, a0 + sh1add a0, a2, a0 ret diff --git a/result/rvb23u64/1ad9224245fc4102.S b/result/rvb23u64/1ad9224245fc4102.S index 322e2b84daf..9bbe8b6e1bf 100644 --- a/result/rvb23u64/1ad9224245fc4102.S +++ b/result/rvb23u64/1ad9224245fc4102.S @@ -1,7 +1,7 @@ func000000000000006b: # @func000000000000006b sh1add a0, a0, a0 - li a1, -12 - sh2add a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, -12 lui a1, 699051 addiw a1, a1, -1365 slli a2, a1, 32 diff --git a/result/rvb23u64/1ae98b2538d64159.S b/result/rvb23u64/1ae98b2538d64159.S index 886d6709321..ab247107538 100644 --- a/result/rvb23u64/1ae98b2538d64159.S +++ b/result/rvb23u64/1ae98b2538d64159.S @@ -1,6 +1,6 @@ func0000000000000000: # @func0000000000000000 sh1add a0, a0, a0 - li a1, 68 - sh2add a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, 68 fcvt.d.w fa0, a0 ret diff --git a/result/rvb23u64/1b1f977d42e61f59.S b/result/rvb23u64/1b1f977d42e61f59.S index 6c8df223147..02aa9de852b 100644 --- a/result/rvb23u64/1b1f977d42e61f59.S +++ b/result/rvb23u64/1b1f977d42e61f59.S @@ -14,9 +14,8 @@ func0000000000000031: # @func0000000000000031 ret func0000000000000010: # @func0000000000000010 sh2add a0, a0, a0 - li a1, 40 - sh3add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 3 + addiw a0, a0, 40 ret func0000000000000020: # @func0000000000000020 addi a0, a0, 4 diff --git a/result/rvb23u64/1b2765f52954345a.S b/result/rvb23u64/1b2765f52954345a.S index 5cd0c664b1f..fbbb203dfd9 100644 --- a/result/rvb23u64/1b2765f52954345a.S +++ b/result/rvb23u64/1b2765f52954345a.S @@ -23,7 +23,6 @@ func00000000000000d5: # @func00000000000000d5 subw a2, a2, a1 add a0, a0, a2 sh1add a0, a0, a0 - li a1, 6 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, 6 ret diff --git a/result/rvb23u64/1b8c155477cc40fb.S b/result/rvb23u64/1b8c155477cc40fb.S index 7325cb2f2ca..b56757cbac1 100644 --- a/result/rvb23u64/1b8c155477cc40fb.S +++ b/result/rvb23u64/1b8c155477cc40fb.S @@ -5,6 +5,7 @@ func0000000000000003: # @func0000000000000003 li a2, 8 czero.eqz a0, a2, a0 or a0, a0, a1 - slli.uw a0, a0, 3 - sh1add a0, a0, a0 + zext.w a1, a0 + sh1add.uw a0, a0, a1 + slli a0, a0, 3 ret diff --git a/result/rvb23u64/1ba94a3baa82c005.S b/result/rvb23u64/1ba94a3baa82c005.S index f3646baf992..e9d5937e193 100644 --- a/result/rvb23u64/1ba94a3baa82c005.S +++ b/result/rvb23u64/1ba94a3baa82c005.S @@ -4,8 +4,9 @@ func0000000000000000: # @func0000000000000000 slli a2, a1, 32 add a1, a1, a2 mulhu a0, a0, a1 - srli a0, a0, 1 - sh1add a0, a0, a0 + srli a1, a0, 1 + andi a0, a0, -2 + add a0, a0, a1 slli a0, a0, 1 ret func0000000000000002: # @func0000000000000002 diff --git a/result/rvb23u64/1bd4f2a94d98042e.S b/result/rvb23u64/1bd4f2a94d98042e.S index b3a5de40576..53cfd366eff 100644 --- a/result/rvb23u64/1bd4f2a94d98042e.S +++ b/result/rvb23u64/1bd4f2a94d98042e.S @@ -1,6 +1,6 @@ func0000000000000051: # @func0000000000000051 - zext.w a2, a2 - sh1add a2, a2, a2 + zext.w a3, a2 + sh1add.uw a2, a2, a3 sh2add a1, a2, a1 addi a1, a1, 12 addi a0, a0, -12 diff --git a/result/rvb23u64/1ca3198bb42b6bde.S b/result/rvb23u64/1ca3198bb42b6bde.S index 4232e8f9bad..ecabbddfcaf 100644 --- a/result/rvb23u64/1ca3198bb42b6bde.S +++ b/result/rvb23u64/1ca3198bb42b6bde.S @@ -14,6 +14,6 @@ func0000000000000003: # @func0000000000000003 czero.eqz a0, a1, a0 or a0, a0, a2 sext.w a0, a0 - li a1, 136 - mul a0, a0, a1 + slli a1, a0, 7 + sh3add a0, a0, a1 ret diff --git a/result/rvb23u64/1d5c5c25dc55ade1.S b/result/rvb23u64/1d5c5c25dc55ade1.S index e56541f3217..c6127b2d534 100644 --- a/result/rvb23u64/1d5c5c25dc55ade1.S +++ b/result/rvb23u64/1d5c5c25dc55ade1.S @@ -23,8 +23,8 @@ func0000000000000015: # @func0000000000000015 func000000000000001f: # @func000000000000001f or a0, a0, a1 sh1add a0, a0, a0 - li a1, 132 - sh2add a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, 132 ret func000000000000001d: # @func000000000000001d or a0, a0, a1 diff --git a/result/rvb23u64/1d62f997aaeb6da1.S b/result/rvb23u64/1d62f997aaeb6da1.S index c081871fec0..61576c5511d 100644 --- a/result/rvb23u64/1d62f997aaeb6da1.S +++ b/result/rvb23u64/1d62f997aaeb6da1.S @@ -5,9 +5,8 @@ func0000000000000014: # @func0000000000000014 ret func0000000000000011: # @func0000000000000011 addi a2, a2, 2 - zext.w a2, a2 - li a3, 1028 - mul a2, a2, a3 + slli.uw a3, a2, 10 + sh2add.uw a2, a2, a3 add a1, a1, a2 xor a0, a0, a1 seqz a0, a0 diff --git a/result/rvb23u64/1d6b884b1cb8e62d.S b/result/rvb23u64/1d6b884b1cb8e62d.S index 60c138f6c38..f6479ed255a 100644 --- a/result/rvb23u64/1d6b884b1cb8e62d.S +++ b/result/rvb23u64/1d6b884b1cb8e62d.S @@ -49,8 +49,8 @@ func0000000000000009: # @func0000000000000009 addi a0, a0, 26 ret func0000000000000003: # @func0000000000000003 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 16 ret diff --git a/result/rvb23u64/1d9254d762ffcea8.S b/result/rvb23u64/1d9254d762ffcea8.S index a386d4e3dce..5b8fc6eeebc 100644 --- a/result/rvb23u64/1d9254d762ffcea8.S +++ b/result/rvb23u64/1d9254d762ffcea8.S @@ -8,8 +8,9 @@ func0000000000000063: # @func0000000000000063 func000000000000000a: # @func000000000000000a sext.w a1, a1 seqz a1, a1 - sh1add a1, a1, a1 - sh3add a0, a1, a0 + slli a2, a1, 4 + sh3add a1, a1, a2 + add a0, a0, a1 addi a0, a0, 8 ret func0000000000000053: # @func0000000000000053 @@ -31,8 +32,9 @@ func0000000000000009: # @func0000000000000009 func0000000000000061: # @func0000000000000061 sext.w a1, a1 snez a1, a1 - sh1add a1, a1, a1 - sh2add a0, a1, a0 + slli a2, a1, 2 + sh3add a1, a1, a2 + add a0, a0, a1 addi a0, a0, 4 ret func0000000000000040: # @func0000000000000040 @@ -46,29 +48,33 @@ func0000000000000041: # @func0000000000000041 sext.w a1, a1 sltiu a1, a1, 3 xori a1, a1, 1 - sh1add a1, a1, a1 - sh2add a0, a1, a0 + slli a2, a1, 2 + sh3add a1, a1, a2 + add a0, a0, a1 addi a0, a0, 4 ret func0000000000000021: # @func0000000000000021 sext.w a1, a1 sltiu a1, a1, 3 - sh1add a1, a1, a1 - sh2add a0, a1, a0 + slli a2, a1, 2 + sh3add a1, a1, a2 + add a0, a0, a1 addi a0, a0, 4 ret func0000000000000043: # @func0000000000000043 sltiu a1, a1, 2 xori a1, a1, 1 - sh1add a1, a1, a1 - sh3add a0, a1, a0 + slli a2, a1, 4 + sh3add a1, a1, a2 + add a0, a0, a1 addi a0, a0, 8 ret func000000000000000b: # @func000000000000000b zext.h a1, a1 addi a1, a1, -343 seqz a1, a1 - sh1add a1, a1, a1 - sh3add a0, a1, a0 + slli a2, a1, 4 + sh3add a1, a1, a2 + add a0, a0, a1 addi a0, a0, 8 ret diff --git a/result/rvb23u64/1e159aa7b99cb12a.S b/result/rvb23u64/1e159aa7b99cb12a.S index a9497f73142..21b26bbd60e 100644 --- a/result/rvb23u64/1e159aa7b99cb12a.S +++ b/result/rvb23u64/1e159aa7b99cb12a.S @@ -39,9 +39,8 @@ func000000000000005d: # @func000000000000005d andi a1, a1, 255 add a0, a0, a1 sh2add a0, a0, a0 - li a1, -48 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, -48 ret func0000000000000055: # @func0000000000000055 sext.w a1, a1 @@ -54,17 +53,15 @@ func000000000000007d: # @func000000000000007d andi a1, a1, 255 add a0, a0, a1 sh2add a0, a0, a0 - li a1, -480 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, -480 ret func000000000000003f: # @func000000000000003f zext.h a1, a1 add a0, a0, a1 sh1add a0, a0, a0 - li a1, 72 - sh3add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 3 + addiw a0, a0, 72 ret func000000000000007f: # @func000000000000007f zext.h a1, a1 diff --git a/result/rvb23u64/1e6e429d009f62d2.S b/result/rvb23u64/1e6e429d009f62d2.S index 0dccce62393..9f4ccddc352 100644 --- a/result/rvb23u64/1e6e429d009f62d2.S +++ b/result/rvb23u64/1e6e429d009f62d2.S @@ -9,18 +9,16 @@ func000000000000015d: # @func000000000000015d andi a1, a1, 255 add a0, a0, a1 sh2add a0, a0, a0 - li a1, -528 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, -528 ret func000000000000017d: # @func000000000000017d andi a1, a1, 255 add a0, a0, a1 addi a0, a0, -722 sh2add a0, a0, a0 - li a1, -8 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, -8 ret func000000000000017f: # @func000000000000017f andi a1, a1, 255 diff --git a/result/rvb23u64/1e72fd802bfbdd02.S b/result/rvb23u64/1e72fd802bfbdd02.S index edb7d243386..2eb533b63e7 100644 --- a/result/rvb23u64/1e72fd802bfbdd02.S +++ b/result/rvb23u64/1e72fd802bfbdd02.S @@ -11,8 +11,7 @@ func0000000000000100: # @func0000000000000100 ret func00000000000000c0: # @func00000000000000c0 sh1add a2, a2, a2 - slli a2, a2, 3 - srli a2, a2, 2 add a0, a0, a1 - addw a0, a0, a2 + sh1add a0, a2, a0 + sext.w a0, a0 ret diff --git a/result/rvb23u64/1e788a954433ebda.S b/result/rvb23u64/1e788a954433ebda.S index f69f678acf6..28f8f4bdc03 100644 --- a/result/rvb23u64/1e788a954433ebda.S +++ b/result/rvb23u64/1e788a954433ebda.S @@ -7,7 +7,8 @@ func0000000000000011: # @func0000000000000011 ret func0000000000000010: # @func0000000000000010 sub a1, a1, a2 - srai a1, a1, 2 - sh1add a1, a1, a1 + srai a2, a1, 2 + srli a1, a1, 1 + add a1, a1, a2 sh1add a0, a1, a0 ret diff --git a/result/rvb23u64/1ee1a4add9c67a89.S b/result/rvb23u64/1ee1a4add9c67a89.S index f69f678acf6..28f8f4bdc03 100644 --- a/result/rvb23u64/1ee1a4add9c67a89.S +++ b/result/rvb23u64/1ee1a4add9c67a89.S @@ -7,7 +7,8 @@ func0000000000000011: # @func0000000000000011 ret func0000000000000010: # @func0000000000000010 sub a1, a1, a2 - srai a1, a1, 2 - sh1add a1, a1, a1 + srai a2, a1, 2 + srli a1, a1, 1 + add a1, a1, a2 sh1add a0, a1, a0 ret diff --git a/result/rvb23u64/1eef903dfefdcbb5.S b/result/rvb23u64/1eef903dfefdcbb5.S index 7d0ded73474..4d2ac4ccac4 100644 --- a/result/rvb23u64/1eef903dfefdcbb5.S +++ b/result/rvb23u64/1eef903dfefdcbb5.S @@ -1,4 +1,5 @@ func0000000000000003: # @func0000000000000003 - slli.uw a0, a0, 3 - sh1add a0, a0, a0 + zext.w a1, a0 + sh1add.uw a0, a0, a1 + slli a0, a0, 3 ret diff --git a/result/rvb23u64/1f1c651fc7ee0ff1.S b/result/rvb23u64/1f1c651fc7ee0ff1.S index 99a925c81db..b967c898d3f 100644 --- a/result/rvb23u64/1f1c651fc7ee0ff1.S +++ b/result/rvb23u64/1f1c651fc7ee0ff1.S @@ -8,8 +8,9 @@ func0000000000000003: # @func0000000000000003 ret func0000000000000013: # @func0000000000000013 addi a0, a0, 1 - slli.uw a0, a0, 3 - sh1add a0, a0, a0 + zext.w a1, a0 + sh1add.uw a0, a0, a1 + slli a0, a0, 3 ret .LCPI2_0: .quad -7070675565921424023 # 0x9ddfea08eb382d69 diff --git a/result/rvb23u64/1f3764ed07de1ec5.S b/result/rvb23u64/1f3764ed07de1ec5.S index 39b45714fa4..95a6bd7bb7b 100644 --- a/result/rvb23u64/1f3764ed07de1ec5.S +++ b/result/rvb23u64/1f3764ed07de1ec5.S @@ -1,8 +1,8 @@ func0000000000000000: # @func0000000000000000 sh1add a0, a0, a0 - slli a0, a0, 2 - sraiw a1, a0, 31 + slli a1, a0, 2 + sraiw a1, a1, 31 srliw a1, a1, 29 - add a0, a0, a1 + sh2add a0, a0, a1 sraiw a0, a0, 3 ret diff --git a/result/rvb23u64/1f4fb52edffb28e1.S b/result/rvb23u64/1f4fb52edffb28e1.S index 45e41fbe475..694cb841f68 100644 --- a/result/rvb23u64/1f4fb52edffb28e1.S +++ b/result/rvb23u64/1f4fb52edffb28e1.S @@ -2,9 +2,8 @@ func000000000000007f: # @func000000000000007f slli a1, a1, 16 or a0, a0, a1 sh2add a0, a0, a0 - li a1, 10 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, 10 ret func0000000000000075: # @func0000000000000075 slli a1, a1, 8 diff --git a/result/rvb23u64/1f6959806693918a.S b/result/rvb23u64/1f6959806693918a.S index 9247f96b0c3..06e20ce43d8 100644 --- a/result/rvb23u64/1f6959806693918a.S +++ b/result/rvb23u64/1f6959806693918a.S @@ -1,7 +1,7 @@ func0000000000000000: # @func0000000000000000 sh1add a1, a1, a1 - li a2, 8 - sh3add a1, a1, a2 + slli a1, a1, 3 + addi a1, a1, 8 slli a0, a0, 63 srai a0, a0, 63 or a0, a0, a1 diff --git a/result/rvb23u64/1f7e955e2facefd0.S b/result/rvb23u64/1f7e955e2facefd0.S index 45b88741da5..0b800ed5376 100644 --- a/result/rvb23u64/1f7e955e2facefd0.S +++ b/result/rvb23u64/1f7e955e2facefd0.S @@ -5,15 +5,17 @@ func0000000000000007: # @func0000000000000007 ret func0000000000000004: # @func0000000000000004 sub a1, a1, a2 - srai a1, a1, 2 - sh1add a1, a1, a1 + srli a2, a1, 2 + srli a1, a1, 1 + add a1, a1, a2 sh2add a0, a1, a0 addi a0, a0, -12 ret func0000000000000005: # @func0000000000000005 sub a1, a1, a2 - srai a1, a1, 3 - sh1add a1, a1, a1 + srli a2, a1, 3 + srli a1, a1, 2 + add a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 8 ret diff --git a/result/rvb23u64/2082cf6de7701357.S b/result/rvb23u64/2082cf6de7701357.S index 19459232678..256febac5c8 100644 --- a/result/rvb23u64/2082cf6de7701357.S +++ b/result/rvb23u64/2082cf6de7701357.S @@ -7,8 +7,9 @@ func000000000000000b: # @func000000000000000b ret func000000000000000f: # @func000000000000000f andi a1, a1, 3 - sh3add a1, a1, a1 - sh2add a0, a1, a0 + slli a2, a1, 5 + sh2add a1, a1, a2 + add a0, a0, a1 addi a0, a0, -4 ret func000000000000000d: # @func000000000000000d diff --git a/result/rvb23u64/20ef89f96d9e1a7f.S b/result/rvb23u64/20ef89f96d9e1a7f.S index adb1d36f3db..aeb9120b336 100644 --- a/result/rvb23u64/20ef89f96d9e1a7f.S +++ b/result/rvb23u64/20ef89f96d9e1a7f.S @@ -2,8 +2,8 @@ func0000000000000041: # @func0000000000000041 andi a2, a2, 255 sh2add a1, a1, a1 sh1add a1, a1, a2 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh2add a0, a1, a0 ret func0000000000000001: # @func0000000000000001 diff --git a/result/rvb23u64/210c5fc0dbf7be3e.S b/result/rvb23u64/210c5fc0dbf7be3e.S index d710aa83b6f..555aa3abaf8 100644 --- a/result/rvb23u64/210c5fc0dbf7be3e.S +++ b/result/rvb23u64/210c5fc0dbf7be3e.S @@ -27,8 +27,8 @@ func000000000000001e: # @func000000000000001e sh1add a0, a0, a0 lui a1, %hi(.LCPI1_0) ld a1, %lo(.LCPI1_0)(a1) - li a2, 365 - sh3add a0, a0, a2 + slli a0, a0, 3 + addi a0, a0, 365 srli a0, a0, 1 mulhu a0, a0, a1 srli a0, a0, 6 diff --git a/result/rvb23u64/2135d9c5ca796b04.S b/result/rvb23u64/2135d9c5ca796b04.S index ba411754fb6..ccde4537529 100644 --- a/result/rvb23u64/2135d9c5ca796b04.S +++ b/result/rvb23u64/2135d9c5ca796b04.S @@ -41,8 +41,8 @@ func0000000000000031: # @func0000000000000031 seqz a0, a0 ret func000000000000001c: # @func000000000000001c - zext.w a2, a2 - sh1add a2, a2, a2 + zext.w a3, a2 + sh1add.uw a2, a2, a3 sh3add a1, a2, a1 xor a0, a0, a1 snez a0, a0 diff --git a/result/rvb23u64/21423d59149f1337.S b/result/rvb23u64/21423d59149f1337.S index 2ada235c668..bc3656fa680 100644 --- a/result/rvb23u64/21423d59149f1337.S +++ b/result/rvb23u64/21423d59149f1337.S @@ -32,8 +32,8 @@ func0000000000000003: # @func0000000000000003 srliw a2, a2, 6 slli a2, a2, 6 add a0, a0, a2 - zext.w a1, a1 - sh2add a1, a1, a1 + zext.w a2, a1 + sh2add.uw a1, a1, a2 sh2add a0, a1, a0 ret func0000000000000006: # @func0000000000000006 diff --git a/result/rvb23u64/2195ded63bc50be4.S b/result/rvb23u64/2195ded63bc50be4.S index ecd1876fdf9..4abcf8b52fb 100644 --- a/result/rvb23u64/2195ded63bc50be4.S +++ b/result/rvb23u64/2195ded63bc50be4.S @@ -50,8 +50,8 @@ func0000000000000007: # @func0000000000000007 li a3, 344 mul a2, a2, a3 add a1, a1, a2 - zext.w a0, a0 - sh1add a0, a0, a0 + zext.w a2, a0 + sh1add.uw a0, a0, a2 sh3add a0, a0, a1 addi a0, a0, 112 ret diff --git a/result/rvb23u64/21971f19c6a6c294.S b/result/rvb23u64/21971f19c6a6c294.S index 740ba645ef9..ae3ae915e51 100644 --- a/result/rvb23u64/21971f19c6a6c294.S +++ b/result/rvb23u64/21971f19c6a6c294.S @@ -1,6 +1,6 @@ func0000000000000001: # @func0000000000000001 sh1add a1, a1, a1 - slli a1, a1, 1 - zext.w a1, a1 + slli a1, a1, 33 + srli a1, a1, 32 sub a0, a1, a0 ret diff --git a/result/rvb23u64/22de26004c0b685e.S b/result/rvb23u64/22de26004c0b685e.S index 402b023f41e..2f00419d478 100644 --- a/result/rvb23u64/22de26004c0b685e.S +++ b/result/rvb23u64/22de26004c0b685e.S @@ -1,7 +1,7 @@ func0000000000000001: # @func0000000000000001 sext.w a0, a0 - zext.w a2, a2 - sh1add a2, a2, a2 + zext.w a3, a2 + sh1add.uw a2, a2, a3 sh3add a1, a2, a1 czero.eqz a0, a1, a0 ret diff --git a/result/rvb23u64/235ff0ce250d5dec.S b/result/rvb23u64/235ff0ce250d5dec.S index 67b8f368ac7..a7468e5121d 100644 --- a/result/rvb23u64/235ff0ce250d5dec.S +++ b/result/rvb23u64/235ff0ce250d5dec.S @@ -1,7 +1,7 @@ func00000000000000f8: # @func00000000000000f8 sh1add a1, a1, a1 - slli a1, a1, 2 - srliw a1, a1, 3 + slli a1, a1, 34 + srli a1, a1, 35 addw a0, a0, a1 sltiu a0, a0, 2 xori a0, a0, 1 diff --git a/result/rvb23u64/237babed87dae622.S b/result/rvb23u64/237babed87dae622.S index cd47b027c56..bf6dafa12c5 100644 --- a/result/rvb23u64/237babed87dae622.S +++ b/result/rvb23u64/237babed87dae622.S @@ -1,6 +1,7 @@ func0000000000000037: # @func0000000000000037 - slli.uw a1, a1, 3 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 + slli a1, a1, 3 sub a0, a1, a0 addi a0, a0, -24 ret diff --git a/result/rvb23u64/24afa6e42649f390.S b/result/rvb23u64/24afa6e42649f390.S index c1f3b173931..1836485216d 100644 --- a/result/rvb23u64/24afa6e42649f390.S +++ b/result/rvb23u64/24afa6e42649f390.S @@ -7,6 +7,6 @@ func0000000000000000: # @func0000000000000000 mulhu a0, a0, a1 srli a0, a0, 4 sh1add a0, a0, a0 - li a1, 24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 24 ret diff --git a/result/rvb23u64/24e7e9c80b590c1f.S b/result/rvb23u64/24e7e9c80b590c1f.S index 48e57185454..eb5498446f7 100644 --- a/result/rvb23u64/24e7e9c80b590c1f.S +++ b/result/rvb23u64/24e7e9c80b590c1f.S @@ -5,44 +5,44 @@ func0000000000000010: # @func0000000000000010 addi a0, a0, 8 ret func000000000000003e: # @func000000000000003e + sh1add a2, a2, a2 sh1add a0, a1, a0 - sh1add a1, a2, a2 - sh2add a0, a1, a0 + sh2add a0, a2, a0 addi a0, a0, 12 ret func000000000000003c: # @func000000000000003c + sh3add a2, a2, a2 sh3add a0, a1, a0 - sh3add a1, a2, a2 - sh3add a0, a1, a0 + sh3add a0, a2, a0 addi a0, a0, 72 ret func0000000000000007: # @func0000000000000007 + sh1add a2, a2, a2 sh3add a0, a1, a0 - sh1add a1, a2, a2 - sh3add a0, a1, a0 + sh3add a0, a2, a0 addi a0, a0, 24 ret func0000000000000037: # @func0000000000000037 + sh1add a2, a2, a2 sh3add a0, a1, a0 - sh1add a1, a2, a2 - sh3add a0, a1, a0 + sh3add a0, a2, a0 addi a0, a0, 24 ret func0000000000000014: # @func0000000000000014 + sh1add a2, a2, a2 sh2add a0, a1, a0 - sh1add a1, a2, a2 - sh2add a0, a1, a0 + sh2add a0, a2, a0 addi a0, a0, -12 ret func000000000000001c: # @func000000000000001c + sh1add a2, a2, a2 sh2add a0, a1, a0 - sh1add a1, a2, a2 - sh2add a0, a1, a0 + sh2add a0, a2, a0 addi a0, a0, -12 ret func0000000000000000: # @func0000000000000000 + sh1add a2, a2, a2 sh2add a0, a1, a0 - sh1add a1, a2, a2 - sh2add a0, a1, a0 + sh2add a0, a2, a0 addi a0, a0, -12 ret diff --git a/result/rvb23u64/251ae5793a10903f.S b/result/rvb23u64/251ae5793a10903f.S index e2c1e19c2f2..2bcf37611f2 100644 --- a/result/rvb23u64/251ae5793a10903f.S +++ b/result/rvb23u64/251ae5793a10903f.S @@ -6,8 +6,8 @@ func0000000000000048: # @func0000000000000048 and a0, a0, a1 ret func0000000000000038: # @func0000000000000038 - zext.w a2, a2 - sh1add a2, a2, a2 + zext.w a3, a2 + sh1add.uw a2, a2, a3 sh3add a2, a2, a1 addi a2, a2, -24 sltu a1, a1, a2 diff --git a/result/rvb23u64/2566b808a29d05ac.S b/result/rvb23u64/2566b808a29d05ac.S index 886f34065da..d5ed73fd55e 100644 --- a/result/rvb23u64/2566b808a29d05ac.S +++ b/result/rvb23u64/2566b808a29d05ac.S @@ -4,9 +4,9 @@ func000000000000003e: # @func000000000000003e sh2add a1, a1, a1 sh1add a1, a1, a3 sh2add a0, a0, a0 - slli a0, a0, 1 - add a2, a2, a0 - sltu a0, a2, a0 + slli a3, a0, 1 + sh1add a0, a0, a2 + sltu a0, a0, a3 add a0, a0, a1 li a1, 0 ret diff --git a/result/rvb23u64/25dd8f97df590573.S b/result/rvb23u64/25dd8f97df590573.S index f92458a619e..71f8a0a9a32 100644 --- a/result/rvb23u64/25dd8f97df590573.S +++ b/result/rvb23u64/25dd8f97df590573.S @@ -1,28 +1,36 @@ func00000000000000ca: # @func00000000000000ca - neg a2, a2 - sh2add a2, a2, a2 - sh3add a1, a2, a1 + neg a3, a2 + slli a3, a3, 5 + slli a2, a2, 3 + sub a1, a1, a2 + add a1, a1, a3 sub a1, a1, a0 sgtz a0, a1 ret func000000000000004a: # @func000000000000004a - neg a2, a2 - sh1add a2, a2, a2 - sh3add a1, a2, a1 + neg a3, a2 + slli a3, a3, 4 + slli a2, a2, 3 + sub a1, a1, a2 + add a1, a1, a3 sub a1, a1, a0 sgtz a0, a1 ret func000000000000008a: # @func000000000000008a - neg a2, a2 - sh1add a2, a2, a2 - sh3add a1, a2, a1 + neg a3, a2 + slli a3, a3, 4 + slli a2, a2, 3 + sub a1, a1, a2 + add a1, a1, a3 sub a1, a1, a0 sgtz a0, a1 ret func000000000000000a: # @func000000000000000a - neg a2, a2 - sh1add a2, a2, a2 - sh2add a1, a2, a1 + neg a3, a2 + slli a3, a3, 3 + slli a2, a2, 2 + sub a1, a1, a2 + add a1, a1, a3 sub a1, a1, a0 sgtz a0, a1 ret diff --git a/result/rvb23u64/263709fd1e17144e.S b/result/rvb23u64/263709fd1e17144e.S index 4775d404823..dcf264bdef6 100644 --- a/result/rvb23u64/263709fd1e17144e.S +++ b/result/rvb23u64/263709fd1e17144e.S @@ -1,6 +1,7 @@ func0000000000000007: # @func0000000000000007 - srai a1, a1, 32 - sh2add a1, a1, a1 + srai a2, a1, 32 + srai a1, a1, 30 + add a1, a1, a2 sh2add a0, a1, a0 addi a0, a0, 20 ret diff --git a/result/rvb23u64/268f4d81393043b3.S b/result/rvb23u64/268f4d81393043b3.S index 27d8b10d402..71afcc48d25 100644 --- a/result/rvb23u64/268f4d81393043b3.S +++ b/result/rvb23u64/268f4d81393043b3.S @@ -6,8 +6,10 @@ func0000000000000007: # @func0000000000000007 func0000000000000003: # @func0000000000000003 slli a1, a1, 35 srli a1, a1, 35 - neg a1, a1 - sh1add a1, a1, a1 - sh2add a0, a1, a0 + neg a2, a1 + slli a2, a2, 3 + slli a1, a1, 2 + sub a0, a0, a1 + add a0, a0, a2 andi a0, a0, -2 ret diff --git a/result/rvb23u64/269038fa10c1be62.S b/result/rvb23u64/269038fa10c1be62.S index cce3be56f32..1e67be45c5a 100644 --- a/result/rvb23u64/269038fa10c1be62.S +++ b/result/rvb23u64/269038fa10c1be62.S @@ -1,6 +1,6 @@ func000000000000000f: # @func000000000000000f - zext.w a2, a2 - sh1add a2, a2, a2 + zext.w a3, a2 + sh1add.uw a2, a2, a3 sh1add a1, a2, a1 add a0, a0, a1 ret diff --git a/result/rvb23u64/26bdb631362ecc3e.S b/result/rvb23u64/26bdb631362ecc3e.S index 3b2a1927b24..25c9625ccec 100644 --- a/result/rvb23u64/26bdb631362ecc3e.S +++ b/result/rvb23u64/26bdb631362ecc3e.S @@ -49,15 +49,15 @@ func0000000000000044: # @func0000000000000044 func0000000000000148: # @func0000000000000148 lui a3, %hi(.LCPI6_0) ld a3, %lo(.LCPI6_0)(a3) + sh1add a2, a2, a2 add a0, a0, a1 - sh1add a1, a2, a2 - sh2add a0, a1, a0 + sh2add a0, a2, a0 sltu a0, a3, a0 ret func0000000000000141: # @func0000000000000141 + sh1add a2, a2, a2 add a0, a0, a1 - sh1add a1, a2, a2 - sh2add a0, a1, a0 + sh2add a0, a2, a0 seqz a0, a0 ret func0000000000000106: # @func0000000000000106 @@ -120,9 +120,9 @@ func0000000000000156: # @func0000000000000156 slti a0, a0, -4 ret func0000000000000354: # @func0000000000000354 + sh2add a2, a2, a2 add a0, a0, a1 - sh2add a1, a2, a2 - sh1add a0, a1, a0 + sh1add a0, a2, a0 sext.w a0, a0 sltiu a0, a0, 128 ret diff --git a/result/rvb23u64/26c799127358350e.S b/result/rvb23u64/26c799127358350e.S index fac6aea3308..903c4511b6c 100644 --- a/result/rvb23u64/26c799127358350e.S +++ b/result/rvb23u64/26c799127358350e.S @@ -1,13 +1,13 @@ func0000000000000000: # @func0000000000000000 andi a2, a2, 255 - sub a2, a2, a1 + subw a2, a2, a1 sh1add a1, a2, a2 slli a1, a1, 1 srl a0, a0, a1 ret func0000000000000020: # @func0000000000000020 andi a2, a2, 255 - sub a2, a2, a1 + subw a2, a2, a1 sh1add a1, a2, a2 slli a1, a1, 1 srl a0, a0, a1 diff --git a/result/rvb23u64/27261642a1c8fc9f.S b/result/rvb23u64/27261642a1c8fc9f.S index de0e400428d..3ec550475cd 100644 --- a/result/rvb23u64/27261642a1c8fc9f.S +++ b/result/rvb23u64/27261642a1c8fc9f.S @@ -1,7 +1,7 @@ func0000000000000007: # @func0000000000000007 + sh1add a2, a2, a2 add a0, a0, a1 - sh1add a1, a2, a2 - sh3add a0, a1, a0 + sh3add a0, a2, a0 ret func0000000000000002: # @func0000000000000002 li a3, 56 @@ -11,9 +11,9 @@ func0000000000000002: # @func0000000000000002 add a0, a0, a2 ret func000000000000000f: # @func000000000000000f + sh1add a2, a2, a2 add a0, a0, a1 - sh1add a1, a2, a2 - sh2add a0, a1, a0 + sh2add a0, a2, a0 ret func0000000000000000: # @func0000000000000000 add a0, a0, a1 @@ -26,9 +26,9 @@ func000000000000000c: # @func000000000000000c add a0, a0, a2 ret func0000000000000003: # @func0000000000000003 + sh1add a2, a2, a2 add a0, a0, a1 - sh1add a1, a2, a2 - sh2add a0, a1, a0 + sh2add a0, a2, a0 ret func000000000000000b: # @func000000000000000b sh1add a2, a2, a2 @@ -51,9 +51,9 @@ func000000000000000e: # @func000000000000000e sh2add a0, a1, a0 ret func0000000000000004: # @func0000000000000004 + sh2add a2, a2, a2 add a0, a0, a1 - sh2add a1, a2, a2 - sh2add a0, a1, a0 + sh2add a0, a2, a0 ret func0000000000000005: # @func0000000000000005 sh2add a0, a1, a0 diff --git a/result/rvb23u64/2767cf928208c187.S b/result/rvb23u64/2767cf928208c187.S index e97ba1ab5ee..0991e8d374e 100644 --- a/result/rvb23u64/2767cf928208c187.S +++ b/result/rvb23u64/2767cf928208c187.S @@ -17,8 +17,8 @@ func0000000000000014: # @func0000000000000014 ret func0000000000000003: # @func0000000000000003 sh1add a1, a1, a1 - li a2, -6 - sh1add a1, a1, a2 + slli a1, a1, 1 + addi a1, a1, -6 sllw a0, a0, a1 ret func0000000000000010: # @func0000000000000010 diff --git a/result/rvb23u64/278f3466d523778e.S b/result/rvb23u64/278f3466d523778e.S index ca2d492c217..fe4f39a9c6f 100644 --- a/result/rvb23u64/278f3466d523778e.S +++ b/result/rvb23u64/278f3466d523778e.S @@ -62,9 +62,9 @@ func0000000000000015: # @func0000000000000015 ret func0000000000000030: # @func0000000000000030 srliw a2, a2, 4 + sh2add a2, a2, a2 add a0, a0, a1 - sh2add a1, a2, a2 - sh1add a0, a1, a0 + sh1add a0, a2, a0 sext.w a0, a0 ret func0000000000000004: # @func0000000000000004 diff --git a/result/rvb23u64/280c9049a79cd219.S b/result/rvb23u64/280c9049a79cd219.S index ed87d2ba91c..b37845c1363 100644 --- a/result/rvb23u64/280c9049a79cd219.S +++ b/result/rvb23u64/280c9049a79cd219.S @@ -4,8 +4,9 @@ func0000000000000008: # @func0000000000000008 slli a4, a3, 32 add a3, a3, a4 mulhu a2, a2, a3 - srli a2, a2, 1 - sh1add a2, a2, a2 + srli a3, a2, 1 + andi a2, a2, -2 + add a2, a2, a3 sh2add a1, a2, a1 sh2add a0, a0, a1 ret diff --git a/result/rvb23u64/2822abd36fcc97da.S b/result/rvb23u64/2822abd36fcc97da.S index 9c9186e7bc1..2b8f42a95e3 100644 --- a/result/rvb23u64/2822abd36fcc97da.S +++ b/result/rvb23u64/2822abd36fcc97da.S @@ -6,8 +6,8 @@ func0000000000000003: # @func0000000000000003 ret func000000000000000d: # @func000000000000000d sh2add a0, a0, a0 - li a1, 32 - sh1add a0, a0, a1 + slli a0, a0, 1 + addi a0, a0, 32 andi a0, a0, 254 addi a0, a0, -48 ret diff --git a/result/rvb23u64/2826f2cfe6328cff.S b/result/rvb23u64/2826f2cfe6328cff.S index 6707fcb9ee8..947a3f5789c 100644 --- a/result/rvb23u64/2826f2cfe6328cff.S +++ b/result/rvb23u64/2826f2cfe6328cff.S @@ -1,6 +1,8 @@ func000000000000001b: # @func000000000000001b ctz a1, a1 - neg a1, a1 - sh1add a1, a1, a1 - sh3add a0, a1, a0 + neg a2, a1 + slli a2, a2, 4 + slli a1, a1, 3 + sub a0, a0, a1 + add a0, a0, a2 ret diff --git a/result/rvb23u64/282f893e11554363.S b/result/rvb23u64/282f893e11554363.S index b626eec89ab..390da2957bb 100644 --- a/result/rvb23u64/282f893e11554363.S +++ b/result/rvb23u64/282f893e11554363.S @@ -1,8 +1,8 @@ func00000000000001f5: # @func00000000000001f5 andi a1, a1, 255 + sh2add a1, a1, a1 li a2, 100 mul a0, a0, a2 - sh2add a1, a1, a1 sh1add a0, a1, a0 li a1, -1332 sh2add a0, a1, a0 @@ -38,9 +38,9 @@ func0000000000000195: # @func0000000000000195 ret func00000000000000ff: # @func00000000000000ff andi a1, a1, 255 + sh2add a1, a1, a1 li a2, 100 mul a0, a0, a2 - sh2add a1, a1, a1 sh1add a0, a1, a0 lui a1, 15 addi a1, a1, -1232 @@ -58,9 +58,9 @@ func0000000000000000: # @func0000000000000000 ret func00000000000001ff: # @func00000000000001ff andi a1, a1, 255 + sh2add a1, a1, a1 li a2, 1260 mul a0, a0, a2 - sh2add a1, a1, a1 sh1add a0, a1, a0 lui a1, 16 addw a0, a0, a1 diff --git a/result/rvb23u64/284ac01146b28f18.S b/result/rvb23u64/284ac01146b28f18.S index fd32228745b..2b8f7dc1950 100644 --- a/result/rvb23u64/284ac01146b28f18.S +++ b/result/rvb23u64/284ac01146b28f18.S @@ -3,8 +3,9 @@ func0000000000000003: # @func0000000000000003 czero.nez a2, a2, a0 czero.eqz a0, a1, a0 or a0, a0, a2 - slli.uw a0, a0, 2 - sh1add a0, a0, a0 + zext.w a1, a0 + sh1add.uw a0, a0, a1 + slli a0, a0, 2 ret func0000000000000007: # @func0000000000000007 andi a0, a0, 1 @@ -12,8 +13,8 @@ func0000000000000007: # @func0000000000000007 czero.eqz a0, a1, a0 or a0, a0, a2 sext.w a0, a0 - li a1, 136 - mul a0, a0, a1 + slli a1, a0, 7 + sh3add a0, a0, a1 ret func0000000000000002: # @func0000000000000002 andi a0, a0, 1 diff --git a/result/rvb23u64/285a332574837d57.S b/result/rvb23u64/285a332574837d57.S index e297930cd94..d348825129e 100644 --- a/result/rvb23u64/285a332574837d57.S +++ b/result/rvb23u64/285a332574837d57.S @@ -1,6 +1,6 @@ func0000000000000025: # @func0000000000000025 - srliw a1, a1, 16 sh2add a2, a2, a2 + srliw a1, a1, 16 sh1add a1, a2, a1 andi a0, a0, 1 subw a0, a1, a0 diff --git a/result/rvb23u64/28637a33dfd6dd14.S b/result/rvb23u64/28637a33dfd6dd14.S index 2a3ca028f74..54f5034f8a2 100644 --- a/result/rvb23u64/28637a33dfd6dd14.S +++ b/result/rvb23u64/28637a33dfd6dd14.S @@ -1,6 +1,6 @@ func0000000000000007: # @func0000000000000007 - zext.w a2, a2 - sh1add a2, a2, a2 + zext.w a3, a2 + sh1add.uw a2, a2, a3 sh2add a1, a2, a1 sh2add.uw a0, a0, a1 addi a0, a0, 28 diff --git a/result/rvb23u64/28d387bcfe57c2d3.S b/result/rvb23u64/28d387bcfe57c2d3.S index 30b41b12877..fa150adfa8c 100644 --- a/result/rvb23u64/28d387bcfe57c2d3.S +++ b/result/rvb23u64/28d387bcfe57c2d3.S @@ -4,7 +4,7 @@ func0000000000000000: # @func0000000000000000 slli a2, a1, 32 add a0, a0, a1 add a0, a0, a2 - srli a1, a0, 8 - sh2add a0, a0, a0 - sh1add a0, a0, a1 + sh2add a1, a0, a0 + srli a0, a0, 8 + sh1add a0, a1, a0 ret diff --git a/result/rvb23u64/297594571275e0ca.S b/result/rvb23u64/297594571275e0ca.S index 807a55867cd..9e40c62ef3a 100644 --- a/result/rvb23u64/297594571275e0ca.S +++ b/result/rvb23u64/297594571275e0ca.S @@ -1,15 +1,15 @@ func0000000000000010: # @func0000000000000010 sext.w a2, a2 + sh1add a2, a2, a2 add a0, a0, a1 - sh1add a1, a2, a2 - sh3add a0, a1, a0 + sh3add a0, a2, a0 addi a0, a0, 56 ret func0000000000000055: # @func0000000000000055 sext.b a2, a2 + sh2add a2, a2, a2 add a0, a0, a1 - sh2add a1, a2, a2 - sh1add a0, a1, a0 + sh1add a0, a2, a0 lui a1, 1048563 addi a1, a1, -80 addw a0, a0, a1 diff --git a/result/rvb23u64/29a4c2372df3c6c2.S b/result/rvb23u64/29a4c2372df3c6c2.S index 3c38e85755f..231a39486de 100644 --- a/result/rvb23u64/29a4c2372df3c6c2.S +++ b/result/rvb23u64/29a4c2372df3c6c2.S @@ -5,8 +5,9 @@ func0000000000000003: # @func0000000000000003 ret func0000000000000002: # @func0000000000000002 sub a2, a2, a1 - srai a2, a2, 2 - sh1add a1, a2, a2 + srai a1, a2, 2 + srli a2, a2, 1 + add a1, a1, a2 sh1add a0, a1, a0 addi a0, a0, 4 ret diff --git a/result/rvb23u64/2a46b839d56d498b.S b/result/rvb23u64/2a46b839d56d498b.S index e4e15220a1e..17b6a264840 100644 --- a/result/rvb23u64/2a46b839d56d498b.S +++ b/result/rvb23u64/2a46b839d56d498b.S @@ -1,7 +1,7 @@ func0000000000000071: # @func0000000000000071 mulw a2, a2, a2 - li a3, 1028 - mul a2, a2, a3 + slli a3, a2, 10 + sh2add a2, a2, a3 add a1, a1, a2 xor a0, a0, a1 seqz a0, a0 diff --git a/result/rvb23u64/2b83924902010312.S b/result/rvb23u64/2b83924902010312.S index 8ed6cb595f7..c3f194396ed 100644 --- a/result/rvb23u64/2b83924902010312.S +++ b/result/rvb23u64/2b83924902010312.S @@ -11,26 +11,26 @@ func000000000000003d: # @func000000000000003d addi a0, a0, 1 ret func000000000000003f: # @func000000000000003f + sh3add a2, a2, a2 sh2add a0, a1, a0 - sh3add a1, a2, a2 - sh3add a0, a1, a0 + sh3add a0, a2, a0 addi a0, a0, 76 ret func000000000000003c: # @func000000000000003c + sh1add a2, a2, a2 sh2add a0, a1, a0 - sh1add a1, a2, a2 - sh2add a0, a1, a0 + sh2add a0, a2, a0 addi a0, a0, 4 ret func000000000000001f: # @func000000000000001f + sh1add a2, a2, a2 sh3add a0, a1, a0 - sh1add a1, a2, a2 - sh3add a0, a1, a0 + sh3add a0, a2, a0 addi a0, a0, 8 ret func0000000000000017: # @func0000000000000017 + sh1add a2, a2, a2 sh3add a0, a1, a0 - sh1add a1, a2, a2 - sh3add a0, a1, a0 + sh3add a0, a2, a0 addi a0, a0, 16 ret diff --git a/result/rvb23u64/2b94c6f43baea247.S b/result/rvb23u64/2b94c6f43baea247.S index 38f0ab539a4..38870b0c5a0 100644 --- a/result/rvb23u64/2b94c6f43baea247.S +++ b/result/rvb23u64/2b94c6f43baea247.S @@ -1,12 +1,12 @@ func0000000000000001: # @func0000000000000001 minu a0, a0, a1 sh1add a0, a0, a0 - li a1, -4 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, -4 ret func0000000000000000: # @func0000000000000000 minu a0, a0, a1 sh1add a0, a0, a0 - li a1, 24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 24 ret diff --git a/result/rvb23u64/2c4c63fb74b7a89a.S b/result/rvb23u64/2c4c63fb74b7a89a.S index e724431540e..ac931e8d84d 100644 --- a/result/rvb23u64/2c4c63fb74b7a89a.S +++ b/result/rvb23u64/2c4c63fb74b7a89a.S @@ -1,13 +1,12 @@ func000000000000007b: # @func000000000000007b sh1add a0, a0, a0 - li a1, 384 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 384 andi a0, a0, -16 ret func0000000000000000: # @func0000000000000000 sh1add a0, a0, a0 - li a1, 4 - sh2add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 2 + addiw a0, a0, 4 andi a0, a0, -8 ret diff --git a/result/rvb23u64/2c92f259f2b68399.S b/result/rvb23u64/2c92f259f2b68399.S index 9081f9d333b..f997ba263d1 100644 --- a/result/rvb23u64/2c92f259f2b68399.S +++ b/result/rvb23u64/2c92f259f2b68399.S @@ -10,7 +10,6 @@ func000000000000003d: # @func000000000000003d add a0, a0, a1 addi a0, a0, -532 sh2add a0, a0, a0 - li a1, -7 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, -7 ret diff --git a/result/rvb23u64/2d07a8747ff152e5.S b/result/rvb23u64/2d07a8747ff152e5.S index b3fcf53110e..35e61cc43fb 100644 --- a/result/rvb23u64/2d07a8747ff152e5.S +++ b/result/rvb23u64/2d07a8747ff152e5.S @@ -14,9 +14,8 @@ func0000000000000015: # @func0000000000000015 ret func0000000000000017: # @func0000000000000017 sh1add a2, a2, a2 - li a3, 6 - sh1add a2, a2, a3 - sext.w a2, a2 + slli a2, a2, 1 + addiw a2, a2, 6 sh2add a1, a2, a1 sh2add a0, a0, a1 ret diff --git a/result/rvb23u64/2d0cce38bfe35b1d.S b/result/rvb23u64/2d0cce38bfe35b1d.S index b730b0c20fb..9042f451131 100644 --- a/result/rvb23u64/2d0cce38bfe35b1d.S +++ b/result/rvb23u64/2d0cce38bfe35b1d.S @@ -4,8 +4,9 @@ func0000000000000020: # @func0000000000000020 slli a4, a3, 32 add a3, a3, a4 mulhu a2, a2, a3 - srli a2, a2, 1 - sh1add a2, a2, a2 + srli a3, a2, 1 + andi a2, a2, -2 + add a2, a2, a3 sh2add a0, a2, a0 sh2add a0, a1, a0 ret diff --git a/result/rvb23u64/2d18b004e0b53dba.S b/result/rvb23u64/2d18b004e0b53dba.S index 326ad46c08b..d7edf446167 100644 --- a/result/rvb23u64/2d18b004e0b53dba.S +++ b/result/rvb23u64/2d18b004e0b53dba.S @@ -1,6 +1,7 @@ func00000000000000f1: # @func00000000000000f1 - srli a2, a2, 1 - sh1add a2, a2, a2 + srli a3, a2, 1 + andi a2, a2, -2 + add a2, a2, a3 sh3add a1, a2, a1 addi a0, a0, 24 xor a0, a0, a1 diff --git a/result/rvb23u64/2dc01e42383ea36b.S b/result/rvb23u64/2dc01e42383ea36b.S index fb0fc8db9d3..5757dad5f65 100644 --- a/result/rvb23u64/2dc01e42383ea36b.S +++ b/result/rvb23u64/2dc01e42383ea36b.S @@ -1,8 +1,8 @@ func0000000000000009: # @func0000000000000009 sh3add a1, a1, a1 - slli a1, a1, 2 zext.h a0, a0 - zext.h a1, a1 + slli a1, a1, 50 + srli a1, a1, 48 divuw a0, a1, a0 ret func0000000000000008: # @func0000000000000008 diff --git a/result/rvb23u64/2e0e0f232bf202c1.S b/result/rvb23u64/2e0e0f232bf202c1.S index 19a601fec1a..04e42d6d3e8 100644 --- a/result/rvb23u64/2e0e0f232bf202c1.S +++ b/result/rvb23u64/2e0e0f232bf202c1.S @@ -8,7 +8,7 @@ func000000000000003a: # @func000000000000003a ret func0000000000000078: # @func0000000000000078 sh1add a1, a1, a1 - li a2, 4 - sh3add a1, a1, a2 + slli a1, a1, 3 + addi a1, a1, 4 sltu a0, a1, a0 ret diff --git a/result/rvb23u64/2e107a4c7fef995f.S b/result/rvb23u64/2e107a4c7fef995f.S index 9d3309dc9ca..ad242f5adb3 100644 --- a/result/rvb23u64/2e107a4c7fef995f.S +++ b/result/rvb23u64/2e107a4c7fef995f.S @@ -4,10 +4,10 @@ func0000000000000078: # @func0000000000000078 sh2add a3, a3, a3 sh1add a3, a3, a4 sh2add a2, a2, a2 - slli a2, a2, 1 + slli a4, a2, 1 + sh1add a0, a2, a0 + sltu a0, a0, a4 add a1, a1, a3 - add a0, a0, a2 - sltu a0, a0, a2 add a0, a0, a1 ret func0000000000000028: # @func0000000000000028 diff --git a/result/rvb23u64/2ea6fcdec80aa6c9.S b/result/rvb23u64/2ea6fcdec80aa6c9.S index b391e4a09ea..74ed9b8f099 100644 --- a/result/rvb23u64/2ea6fcdec80aa6c9.S +++ b/result/rvb23u64/2ea6fcdec80aa6c9.S @@ -1,7 +1,7 @@ func0000000000000015: # @func0000000000000015 sh1add a0, a0, a0 - li a1, 1 - sh1add a0, a0, a1 + slli a0, a0, 1 + addi a0, a0, 1 andi a0, a0, 127 ret func0000000000000000: # @func0000000000000000 diff --git a/result/rvb23u64/2ec3809f58031c87.S b/result/rvb23u64/2ec3809f58031c87.S index 26245bdc9b7..a54330bc81c 100644 --- a/result/rvb23u64/2ec3809f58031c87.S +++ b/result/rvb23u64/2ec3809f58031c87.S @@ -1,8 +1,7 @@ func0000000000000004: # @func0000000000000004 sh2add a1, a1, a1 - li a2, 9 - sh1add a1, a1, a2 - sext.w a1, a1 + slli a1, a1, 1 + addiw a1, a1, 9 sltiu a1, a1, 15 czero.nez a0, a0, a1 li a2, 16 @@ -11,8 +10,8 @@ func0000000000000004: # @func0000000000000004 ret func0000000000000044: # @func0000000000000044 sh2add a1, a1, a1 - li a2, -114 - sh1add a1, a1, a2 + slli a1, a1, 1 + addi a1, a1, -114 sltiu a1, a1, 26 czero.nez a0, a0, a1 li a2, 11 @@ -21,8 +20,8 @@ func0000000000000044: # @func0000000000000044 ret func0000000000000054: # @func0000000000000054 sh2add a1, a1, a1 - li a2, -114 - sh1add a1, a1, a2 + slli a1, a1, 1 + addi a1, a1, -114 sltiu a1, a1, 26 czero.nez a0, a0, a1 li a2, 11 diff --git a/result/rvb23u64/2fc4dfaff3f047c3.S b/result/rvb23u64/2fc4dfaff3f047c3.S index 33f6e9ed27b..f3d4629ed7a 100644 --- a/result/rvb23u64/2fc4dfaff3f047c3.S +++ b/result/rvb23u64/2fc4dfaff3f047c3.S @@ -19,7 +19,8 @@ func0000000000000006: # @func0000000000000006 func0000000000000007: # @func0000000000000007 slli a1, a1, 50 srli a1, a1, 62 - sh3add a1, a1, a1 - sh2add a0, a1, a0 + slli a2, a1, 5 + sh2add a1, a1, a2 + add a0, a0, a1 addi a0, a0, -36 ret diff --git a/result/rvb23u64/307bfe97f51235ab.S b/result/rvb23u64/307bfe97f51235ab.S index cb84ddfb4cd..5e301990438 100644 --- a/result/rvb23u64/307bfe97f51235ab.S +++ b/result/rvb23u64/307bfe97f51235ab.S @@ -121,10 +121,10 @@ func0000000000000014: # @func0000000000000014 ret func00000000000000ce: # @func00000000000000ce add a1, a1, a2 + sh1add a1, a1, a1 sh1add a0, a0, a0 + sh1add a0, a1, a0 slli a0, a0, 1 - sh1add a1, a1, a1 - sh2add a0, a1, a0 ret func0000000000000055: # @func0000000000000055 add a1, a1, a2 diff --git a/result/rvb23u64/30872e5192d470e0.S b/result/rvb23u64/30872e5192d470e0.S index a942bd67338..a860f385146 100644 --- a/result/rvb23u64/30872e5192d470e0.S +++ b/result/rvb23u64/30872e5192d470e0.S @@ -1,19 +1,22 @@ func000000000000000e: # @func000000000000000e sub a1, a1, a2 - srai a1, a1, 3 - sh1add a1, a1, a1 + srli a2, a1, 3 + srli a1, a1, 2 + add a1, a1, a2 sh3add a0, a1, a0 ret func000000000000000b: # @func000000000000000b sub a1, a1, a2 - srai a1, a1, 4 - sh3add a1, a1, a1 + srai a2, a1, 4 + srli a1, a1, 1 + add a1, a1, a2 sh2add a0, a1, a0 ret func0000000000000008: # @func0000000000000008 sub a1, a1, a2 - srai a1, a1, 4 - sh3add a1, a1, a1 + srai a2, a1, 4 + srli a1, a1, 1 + add a1, a1, a2 sh2add a0, a1, a0 ret func0000000000000002: # @func0000000000000002 @@ -23,8 +26,8 @@ func0000000000000002: # @func0000000000000002 ret func0000000000000009: # @func0000000000000009 sub a1, a1, a2 - srli a1, a1, 3 - sh3add a1, a1, a1 + srli a2, a1, 3 + add a1, a1, a2 sh3add a0, a1, a0 ret func000000000000000a: # @func000000000000000a diff --git a/result/rvb23u64/308a73e37a58d3ab.S b/result/rvb23u64/308a73e37a58d3ab.S index 321630a644f..79d87cd9ed2 100644 --- a/result/rvb23u64/308a73e37a58d3ab.S +++ b/result/rvb23u64/308a73e37a58d3ab.S @@ -1,7 +1,8 @@ func000000000000000b: # @func000000000000000b andi a1, a1, 254 or a0, a0, a1 - srliw a0, a0, 1 - sh1add a0, a0, a0 + andi a1, a0, -2 + srli a0, a0, 1 + add a0, a0, a1 slliw a0, a0, 1 ret diff --git a/result/rvb23u64/30a7bca48bdee369.S b/result/rvb23u64/30a7bca48bdee369.S index c07b65d81b4..70d28b7d036 100644 --- a/result/rvb23u64/30a7bca48bdee369.S +++ b/result/rvb23u64/30a7bca48bdee369.S @@ -9,7 +9,9 @@ func0000000000000015: # @func0000000000000015 srli a2, a1, 63 add a1, a1, a2 srai a1, a1, 1 - neg a1, a1 - sh1add a1, a1, a1 - sh3add a0, a1, a0 + neg a2, a1 + slli a1, a1, 3 + slli a2, a2, 4 + sub a0, a0, a1 + add a0, a0, a2 ret diff --git a/result/rvb23u64/30eade863f038f8c.S b/result/rvb23u64/30eade863f038f8c.S index 77c18499828..1df60cd4b89 100644 --- a/result/rvb23u64/30eade863f038f8c.S +++ b/result/rvb23u64/30eade863f038f8c.S @@ -16,8 +16,9 @@ func0000000000000005: # @func0000000000000005 addi a2, a2, -2 seqz a2, a2 and a1, a1, a2 - sh1add a1, a1, a1 - sh3add a0, a1, a0 + slli a2, a1, 4 + sh3add a1, a1, a2 + add a0, a0, a1 ret func0000000000000011: # @func0000000000000011 sext.w a2, a2 diff --git a/result/rvb23u64/31028b1e32943986.S b/result/rvb23u64/31028b1e32943986.S index 0778cf0874c..acac5c69731 100644 --- a/result/rvb23u64/31028b1e32943986.S +++ b/result/rvb23u64/31028b1e32943986.S @@ -1,6 +1,6 @@ func0000000000000005: # @func0000000000000005 zext.h a1, a1 - sub a1, a1, a0 + subw a1, a1, a0 sh2add a0, a1, a1 slliw a0, a0, 1 ret diff --git a/result/rvb23u64/31a23e4e38d0ee73.S b/result/rvb23u64/31a23e4e38d0ee73.S index 47831159bab..3407dc20a01 100644 --- a/result/rvb23u64/31a23e4e38d0ee73.S +++ b/result/rvb23u64/31a23e4e38d0ee73.S @@ -5,7 +5,6 @@ func0000000000000030: # @func0000000000000030 ret func0000000000000000: # @func0000000000000000 sh1add a0, a0, a0 - slli a0, a0, 1 - sh2add a0, a1, a0 - sext.w a0, a0 + sh1add a0, a1, a0 + slliw a0, a0, 1 ret diff --git a/result/rvb23u64/31ec73e850886612.S b/result/rvb23u64/31ec73e850886612.S index d5db98b098c..11113950ef2 100644 --- a/result/rvb23u64/31ec73e850886612.S +++ b/result/rvb23u64/31ec73e850886612.S @@ -17,7 +17,8 @@ func0000000000000006: # @func0000000000000006 addiw a3, a3, 1639 mul a2, a2, a3 srliw a3, a2, 31 - srli a2, a2, 18 + srai a2, a2, 16 + srli a2, a2, 2 add a2, a2, a3 sh2add a2, a2, a2 slli a2, a2, 1 @@ -32,7 +33,8 @@ func000000000000000a: # @func000000000000000a addiw a3, a3, 1639 mul a2, a2, a3 srliw a3, a2, 31 - srli a2, a2, 18 + srai a2, a2, 16 + srli a2, a2, 2 add a2, a2, a3 sh2add a2, a2, a2 slli a2, a2, 1 diff --git a/result/rvb23u64/32573a4b7c4d8f72.S b/result/rvb23u64/32573a4b7c4d8f72.S index b217e51ade7..143b5045ca5 100644 --- a/result/rvb23u64/32573a4b7c4d8f72.S +++ b/result/rvb23u64/32573a4b7c4d8f72.S @@ -1,6 +1,7 @@ func0000000000000010: # @func0000000000000010 sub a0, a0, a1 - srli a0, a0, 4 - sh2add a0, a0, a0 + srli a1, a0, 4 + srli a0, a0, 2 + add a0, a0, a1 slliw a0, a0, 2 ret diff --git a/result/rvb23u64/32eb34857b726d25.S b/result/rvb23u64/32eb34857b726d25.S index 1423bda3ff9..4e0559a331d 100644 --- a/result/rvb23u64/32eb34857b726d25.S +++ b/result/rvb23u64/32eb34857b726d25.S @@ -41,8 +41,8 @@ func0000000000000017: # @func0000000000000017 ret func0000000000000015: # @func0000000000000015 addi a1, a1, -1 - zext.w a1, a1 - sh3add a1, a1, a1 + zext.w a2, a1 + sh3add.uw a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 256 ret diff --git a/result/rvb23u64/32fc89c5b5ecd63f.S b/result/rvb23u64/32fc89c5b5ecd63f.S index f92138bc5e0..2e96abfa5b0 100644 --- a/result/rvb23u64/32fc89c5b5ecd63f.S +++ b/result/rvb23u64/32fc89c5b5ecd63f.S @@ -1,15 +1,15 @@ func0000000000000002: # @func0000000000000002 sh1add a0, a0, a0 - li a1, 15 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 15 ret func0000000000000000: # @func0000000000000000 sh1add a0, a0, a0 - li a1, -12 - sh2add a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, -12 ret func0000000000000001: # @func0000000000000001 sh1add a0, a0, a0 - li a1, -24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, -24 ret diff --git a/result/rvb23u64/334b6ce2b34daf4a.S b/result/rvb23u64/334b6ce2b34daf4a.S index 321ce6a79a3..21e86fe66cd 100644 --- a/result/rvb23u64/334b6ce2b34daf4a.S +++ b/result/rvb23u64/334b6ce2b34daf4a.S @@ -1,6 +1,7 @@ func0000000000000000: # @func0000000000000000 - srli a2, a2, 1 - sh1add a2, a2, a2 + srli a3, a2, 1 + andi a2, a2, -2 + add a2, a2, a3 sh2add a1, a2, a1 sh2add a0, a0, a1 ret diff --git a/result/rvb23u64/334cbc7e410d7a46.S b/result/rvb23u64/334cbc7e410d7a46.S index a4c8c9bfed4..a5f9880fc3f 100644 --- a/result/rvb23u64/334cbc7e410d7a46.S +++ b/result/rvb23u64/334cbc7e410d7a46.S @@ -1,6 +1,7 @@ func000000000000003f: # @func000000000000003f - slli.uw a1, a1, 2 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 + slli a1, a1, 2 sh2add.uw a0, a0, a1 ret func000000000000006c: # @func000000000000006c diff --git a/result/rvb23u64/33c0327b2929d0d8.S b/result/rvb23u64/33c0327b2929d0d8.S index 2738de11637..fdba3fff84f 100644 --- a/result/rvb23u64/33c0327b2929d0d8.S +++ b/result/rvb23u64/33c0327b2929d0d8.S @@ -46,8 +46,9 @@ func0000000000000000: # @func0000000000000000 sraiw a3, a2, 31 srliw a3, a3, 30 add a2, a2, a3 - sraiw a2, a2, 2 - sh2add a2, a2, a2 + sraiw a3, a2, 2 + andi a2, a2, -4 + add a2, a2, a3 sh2add a1, a2, a1 addw a0, a0, a1 ret diff --git a/result/rvb23u64/33c785fa246972b0.S b/result/rvb23u64/33c785fa246972b0.S index 0cbafe34140..d83a0e7472f 100644 --- a/result/rvb23u64/33c785fa246972b0.S +++ b/result/rvb23u64/33c785fa246972b0.S @@ -13,8 +13,8 @@ func000000000000000d: # @func000000000000000d ret func0000000000000003: # @func0000000000000003 add a1, a1, a2 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 16 ret diff --git a/result/rvb23u64/33e48ff6982fa853.S b/result/rvb23u64/33e48ff6982fa853.S index 6081e2d8b70..7c5533e5615 100644 --- a/result/rvb23u64/33e48ff6982fa853.S +++ b/result/rvb23u64/33e48ff6982fa853.S @@ -3,9 +3,11 @@ func0000000000000000: # @func0000000000000000 andi a0, a0, -16 ret func0000000000000003: # @func0000000000000003 - neg a1, a1 - sh1add a1, a1, a1 - sh2add a0, a1, a0 + neg a2, a1 + slli a2, a2, 3 + slli a1, a1, 2 + sub a0, a0, a1 + add a0, a0, a2 andi a0, a0, -2 ret func0000000000000002: # @func0000000000000002 diff --git a/result/rvb23u64/33f81125a4d8b892.S b/result/rvb23u64/33f81125a4d8b892.S index 483f1667e58..5b457bcde79 100644 --- a/result/rvb23u64/33f81125a4d8b892.S +++ b/result/rvb23u64/33f81125a4d8b892.S @@ -25,9 +25,9 @@ func0000000000000000: # @func0000000000000000 add a0, a0, a1 ret func0000000000000078: # @func0000000000000078 - zext.w a0, a0 - sh2add a0, a0, a0 - li a1, 511 - sh1add a0, a0, a1 + zext.w a1, a0 + sh2add.uw a0, a0, a1 + slli a0, a0, 1 + addi a0, a0, 511 srli a0, a0, 9 ret diff --git a/result/rvb23u64/3419e53e0a081502.S b/result/rvb23u64/3419e53e0a081502.S index 39c59583114..d027e6fd857 100644 --- a/result/rvb23u64/3419e53e0a081502.S +++ b/result/rvb23u64/3419e53e0a081502.S @@ -1,6 +1,7 @@ func000000000000001f: # @func000000000000001f - srliw a1, a1, 1 - sh1add a1, a1, a1 + andi a2, a1, -2 + srli a1, a1, 1 + add a1, a1, a2 slliw a1, a1, 1 add a0, a0, a1 addi a0, a0, 14 diff --git a/result/rvb23u64/34dc55ae6c622380.S b/result/rvb23u64/34dc55ae6c622380.S index b88e907907b..49bfed99ee6 100644 --- a/result/rvb23u64/34dc55ae6c622380.S +++ b/result/rvb23u64/34dc55ae6c622380.S @@ -5,7 +5,7 @@ func0000000000000000: # @func0000000000000000 ret func000000000000000d: # @func000000000000000d sh1add a1, a1, a1 - li a2, -1 - sh3add a1, a1, a2 + slli a1, a1, 3 + addi a1, a1, -1 and a0, a0, a1 ret diff --git a/result/rvb23u64/358c0c0b970ad387.S b/result/rvb23u64/358c0c0b970ad387.S index 40a45e74a6c..82aafaffcd2 100644 --- a/result/rvb23u64/358c0c0b970ad387.S +++ b/result/rvb23u64/358c0c0b970ad387.S @@ -22,15 +22,17 @@ func0000000000000000: # @func0000000000000000 addi a0, a0, 2 srli a1, a0, 63 add a0, a0, a1 - srai a0, a0, 1 - sh1add a0, a0, a0 + srai a1, a0, 1 + andi a0, a0, -2 + add a0, a0, a1 slli a0, a0, 3 ret func0000000000000008: # @func0000000000000008 addi a0, a0, 1 srli a1, a0, 63 add a0, a0, a1 - srai a0, a0, 1 - sh1add a0, a0, a0 + srai a1, a0, 1 + andi a0, a0, -2 + add a0, a0, a1 slli a0, a0, 3 ret diff --git a/result/rvb23u64/35c96f9cc50db4d9.S b/result/rvb23u64/35c96f9cc50db4d9.S index e32c7445ae5..9757d4dc59e 100644 --- a/result/rvb23u64/35c96f9cc50db4d9.S +++ b/result/rvb23u64/35c96f9cc50db4d9.S @@ -5,8 +5,9 @@ func0000000000000003: # @func0000000000000003 ret func0000000000000002: # @func0000000000000002 sub a1, a1, a2 - srai a1, a1, 2 - sh1add a1, a1, a1 + srai a2, a1, 2 + srli a1, a1, 1 + add a1, a1, a2 sh1add a0, a1, a0 addi a0, a0, 4 ret diff --git a/result/rvb23u64/3603f6e7d0303ef5.S b/result/rvb23u64/3603f6e7d0303ef5.S index 9d5c384c993..82a7432c08f 100644 --- a/result/rvb23u64/3603f6e7d0303ef5.S +++ b/result/rvb23u64/3603f6e7d0303ef5.S @@ -7,8 +7,9 @@ func000000000000002b: # @func000000000000002b func000000000000005a: # @func000000000000005a slt a1, a1, a2 xori a1, a1, 1 - sh2add a1, a1, a1 - sh3add a0, a1, a0 + slli a2, a1, 5 + sh3add a1, a1, a2 + add a0, a0, a1 addi a0, a0, 8 ret func000000000000000b: # @func000000000000000b diff --git a/result/rvb23u64/3643c9eb9926feff.S b/result/rvb23u64/3643c9eb9926feff.S index af17bac04cd..81f0260313a 100644 --- a/result/rvb23u64/3643c9eb9926feff.S +++ b/result/rvb23u64/3643c9eb9926feff.S @@ -1,8 +1,8 @@ func0000000000000001: # @func0000000000000001 andi a2, a2, 1 czero.eqz a1, a1, a2 - li a2, 264 - mul a1, a1, a2 + slli a2, a1, 8 + sh3add a1, a1, a2 add a0, a0, a1 ret func0000000000000005: # @func0000000000000005 diff --git a/result/rvb23u64/36a16dc4d462e1b4.S b/result/rvb23u64/36a16dc4d462e1b4.S index 31e26516ba9..16c39c80599 100644 --- a/result/rvb23u64/36a16dc4d462e1b4.S +++ b/result/rvb23u64/36a16dc4d462e1b4.S @@ -5,8 +5,9 @@ func0000000000000000: # @func0000000000000000 czero.eqz a0, a2, a0 or a0, a0, a1 sext.w a1, a0 + slli a0, a1, 6 + sh2add a0, a1, a0 li a2, 68 - mul a0, a1, a2 mulhu a1, a1, a2 snez a1, a1 ret diff --git a/result/rvb23u64/36b17962fdef82dd.S b/result/rvb23u64/36b17962fdef82dd.S index 89a29dcd8a1..158f9c615d7 100644 --- a/result/rvb23u64/36b17962fdef82dd.S +++ b/result/rvb23u64/36b17962fdef82dd.S @@ -5,9 +5,9 @@ func000000000000001c: # @func000000000000001c slli a3, a3, 24 addi a3, a3, 15 and a2, a2, a3 + sh1add a2, a2, a2 or a0, a0, a1 - sh1add a1, a2, a2 - sh1add a0, a1, a0 + sh1add a0, a2, a0 ret func000000000000001f: # @func000000000000001f srli a2, a2, 11 @@ -16,9 +16,9 @@ func000000000000001f: # @func000000000000001f slli a3, a3, 24 addi a3, a3, 15 and a2, a2, a3 + sh1add a2, a2, a2 or a0, a0, a1 - sh1add a1, a2, a2 - sh1add a0, a1, a0 + sh1add a0, a2, a0 ret func0000000000000015: # @func0000000000000015 srli a2, a2, 20 diff --git a/result/rvb23u64/37bc1c2a2a31b463.S b/result/rvb23u64/37bc1c2a2a31b463.S index c1a1261d2f6..27d841d6536 100644 --- a/result/rvb23u64/37bc1c2a2a31b463.S +++ b/result/rvb23u64/37bc1c2a2a31b463.S @@ -1,6 +1,6 @@ func0000000000000001: # @func0000000000000001 - zext.w a1, a1 - sh3add a1, a1, a1 + zext.w a2, a1 + sh3add.uw a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 16 ret diff --git a/result/rvb23u64/38e55d51a60e2e51.S b/result/rvb23u64/38e55d51a60e2e51.S index 11084a1cde4..3d21fba0110 100644 --- a/result/rvb23u64/38e55d51a60e2e51.S +++ b/result/rvb23u64/38e55d51a60e2e51.S @@ -5,15 +5,13 @@ func0000000000000000: # @func0000000000000000 ret func0000000000000004: # @func0000000000000004 sh2add a0, a0, a0 - li a1, -48 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, -48 ret func000000000000000d: # @func000000000000000d sh2add a0, a0, a0 - li a1, -528 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, -528 ret func0000000000000005: # @func0000000000000005 lui a2, 244141 @@ -33,8 +31,8 @@ func000000000000000f: # @func000000000000000f ret func0000000000000008: # @func0000000000000008 sh2add a0, a0, a0 - li a1, -48 - sh1add a0, a0, a1 + slli a0, a0, 1 + addi a0, a0, -48 ret func000000000000000a: # @func000000000000000a sh1add a0, a0, a0 @@ -42,8 +40,8 @@ func000000000000000a: # @func000000000000000a ret func0000000000000007: # @func0000000000000007 sh2add a0, a0, a0 - li a1, 40 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 40 ret func0000000000000002: # @func0000000000000002 sh1add a0, a0, a0 @@ -71,7 +69,6 @@ func000000000000000e: # @func000000000000000e ret func000000000000000c: # @func000000000000000c sh2add a0, a0, a0 - li a1, -48 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, -48 ret diff --git a/result/rvb23u64/393143670894b2cc.S b/result/rvb23u64/393143670894b2cc.S index 323130d5041..99510ebb289 100644 --- a/result/rvb23u64/393143670894b2cc.S +++ b/result/rvb23u64/393143670894b2cc.S @@ -2,8 +2,9 @@ func000000000000000f: # @func000000000000000f li a3, -1 slli a3, a3, 32 add a2, a2, a3 - srai a2, a2, 32 - sh2add a2, a2, a2 + srai a3, a2, 32 + srai a2, a2, 30 + add a2, a2, a3 sh3add a1, a2, a1 sh2add a0, a0, a0 sh3add a0, a0, a1 diff --git a/result/rvb23u64/393873742ed39fe7.S b/result/rvb23u64/393873742ed39fe7.S index a3d7a1f1015..8d991cec76d 100644 --- a/result/rvb23u64/393873742ed39fe7.S +++ b/result/rvb23u64/393873742ed39fe7.S @@ -7,8 +7,8 @@ func0000000000000055: # @func0000000000000055 add a0, a0, a2 ret func0000000000000030: # @func0000000000000030 - zext.w a2, a2 - sh1add a2, a2, a2 + zext.w a3, a2 + sh1add.uw a2, a2, a3 sh3add a1, a2, a1 sub a0, a1, a0 ret diff --git a/result/rvb23u64/3988f2fb4c36f7e8.S b/result/rvb23u64/3988f2fb4c36f7e8.S index 81ad43ffc8a..711fcda783b 100644 --- a/result/rvb23u64/3988f2fb4c36f7e8.S +++ b/result/rvb23u64/3988f2fb4c36f7e8.S @@ -18,9 +18,11 @@ func0000000000000078: # @func0000000000000078 ret func0000000000000071: # @func0000000000000071 andi a2, a2, 255 - neg a2, a2 - sh2add a2, a2, a2 - sh3add a1, a2, a1 + neg a3, a2 + slli a3, a3, 5 + slli a2, a2, 3 + sub a1, a1, a2 + add a1, a1, a3 addi a0, a0, -40 xor a0, a0, a1 seqz a0, a0 diff --git a/result/rvb23u64/39b1144ebb70e702.S b/result/rvb23u64/39b1144ebb70e702.S index de179c2dc73..e978682127a 100644 --- a/result/rvb23u64/39b1144ebb70e702.S +++ b/result/rvb23u64/39b1144ebb70e702.S @@ -1,15 +1,15 @@ func0000000000000018: # @func0000000000000018 sh1add a2, a2, a2 - slli a2, a2, 1 - zext.w a2, a2 + slli a2, a2, 33 + srli a2, a2, 32 sub a0, a0, a1 srai a0, a0, 1 sltu a0, a2, a0 ret func0000000000000014: # @func0000000000000014 sh1add a2, a2, a2 - slli a2, a2, 1 - zext.w a2, a2 + slli a2, a2, 33 + srli a2, a2, 32 sub a0, a0, a1 srai a0, a0, 1 sltu a0, a0, a2 diff --git a/result/rvb23u64/39daf5749e79d4a3.S b/result/rvb23u64/39daf5749e79d4a3.S index c6ade1ac0dd..74af0df3f7e 100644 --- a/result/rvb23u64/39daf5749e79d4a3.S +++ b/result/rvb23u64/39daf5749e79d4a3.S @@ -16,13 +16,15 @@ func0000000000000011: # @func0000000000000011 func0000000000000020: # @func0000000000000020 sext.w a1, a1 sltiu a1, a1, 3 - sh1add a1, a1, a1 - sh2add a0, a1, a0 + slli a2, a1, 2 + sh3add a1, a1, a2 + add a0, a0, a1 ret func0000000000000021: # @func0000000000000021 sltiu a1, a1, 2 - sh1add a1, a1, a1 - sh3add a0, a1, a0 + slli a2, a1, 4 + sh3add a1, a1, a2 + add a0, a0, a1 ret func0000000000000010: # @func0000000000000010 sext.w a1, a1 diff --git a/result/rvb23u64/39e3cf62de860e41.S b/result/rvb23u64/39e3cf62de860e41.S index ee9ffd5040b..a510fae0b1b 100644 --- a/result/rvb23u64/39e3cf62de860e41.S +++ b/result/rvb23u64/39e3cf62de860e41.S @@ -1,8 +1,9 @@ func000000000000000f: # @func000000000000000f add a1, a1, a2 - slli.uw a0, a0, 2 - sh1add a0, a0, a0 - add.uw a0, a1, a0 + zext.w a1, a1 + zext.w a2, a0 + sh1add.uw a0, a0, a2 + sh2add a0, a0, a1 ret func00000000000000ff: # @func00000000000000ff add a1, a1, a2 diff --git a/result/rvb23u64/3a06f0351c40354b.S b/result/rvb23u64/3a06f0351c40354b.S index d82b7a47391..56c001a53b5 100644 --- a/result/rvb23u64/3a06f0351c40354b.S +++ b/result/rvb23u64/3a06f0351c40354b.S @@ -1,7 +1,7 @@ func000000000000001e: # @func000000000000001e andi a0, a0, 7 sh1add a0, a0, a0 - li a1, 7 - sh1add a0, a0, a1 + slli a0, a0, 1 + addi a0, a0, 7 srli a0, a0, 3 ret diff --git a/result/rvb23u64/3a2090e1b55ddd2a.S b/result/rvb23u64/3a2090e1b55ddd2a.S index 79c35478bfd..7f6052aa4d2 100644 --- a/result/rvb23u64/3a2090e1b55ddd2a.S +++ b/result/rvb23u64/3a2090e1b55ddd2a.S @@ -9,8 +9,8 @@ func0000000000000065: # @func0000000000000065 ret func0000000000000004: # @func0000000000000004 sh2add a1, a0, a0 - slli a1, a1, 1 - srliw a1, a1, 9 + slli a1, a1, 33 + srli a1, a1, 41 li a2, -48 mul a1, a1, a2 addw a0, a0, a1 diff --git a/result/rvb23u64/3b6d60a90ed207df.S b/result/rvb23u64/3b6d60a90ed207df.S index 4120db9f9aa..26a17df19d8 100644 --- a/result/rvb23u64/3b6d60a90ed207df.S +++ b/result/rvb23u64/3b6d60a90ed207df.S @@ -18,8 +18,8 @@ func000000000000003e: # @func000000000000003e sh2add a1, a1, a1 sh1add a0, a1, a0 sh2add a0, a0, a0 - li a1, 64 - sh1add a0, a0, a1 + slli a0, a0, 1 + addi a0, a0, 64 ret func000000000000003f: # @func000000000000003f sh2add a2, a1, a1 diff --git a/result/rvb23u64/3bdeeb9e8bf48a24.S b/result/rvb23u64/3bdeeb9e8bf48a24.S index 9510cc58914..8fe57c9ef63 100644 --- a/result/rvb23u64/3bdeeb9e8bf48a24.S +++ b/result/rvb23u64/3bdeeb9e8bf48a24.S @@ -1,6 +1,6 @@ func0000000000000001: # @func0000000000000001 sh1add a0, a0, a0 - li a1, 24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 24 rev8 a0, a0 ret diff --git a/result/rvb23u64/3bf8b7b4e85cb61c.S b/result/rvb23u64/3bf8b7b4e85cb61c.S index 6f78c2f6ee0..1343bf89b92 100644 --- a/result/rvb23u64/3bf8b7b4e85cb61c.S +++ b/result/rvb23u64/3bf8b7b4e85cb61c.S @@ -15,8 +15,8 @@ func0000000000000002: # @func0000000000000002 func0000000000000017: # @func0000000000000017 srai a0, a0, 5 sh1add a0, a0, a0 - li a1, -24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, -24 lui a1, 699051 addiw a1, a1, -1365 slli a2, a1, 32 @@ -27,10 +27,11 @@ func0000000000000017: # @func0000000000000017 slli a0, a0, 3 ret func0000000000000077: # @func0000000000000077 - srai a0, a0, 32 - sh1add a0, a0, a0 - li a1, -24 - sh3add a0, a0, a1 + srai a1, a0, 32 + srai a0, a0, 31 + add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, -24 lui a1, 699051 addiw a1, a1, -1365 slli a2, a1, 32 diff --git a/result/rvb23u64/3bfe232dc9823e58.S b/result/rvb23u64/3bfe232dc9823e58.S index 3cc1dcf53f6..4aed6dd8ca2 100644 --- a/result/rvb23u64/3bfe232dc9823e58.S +++ b/result/rvb23u64/3bfe232dc9823e58.S @@ -6,6 +6,6 @@ func0000000000000000: # @func0000000000000000 mulhu a0, a0, a1 srli a0, a0, 4 sh1add a0, a0, a0 - li a1, 24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 24 ret diff --git a/result/rvb23u64/3c09cebeb099820d.S b/result/rvb23u64/3c09cebeb099820d.S index 3e75b8cc0b2..819e2568d19 100644 --- a/result/rvb23u64/3c09cebeb099820d.S +++ b/result/rvb23u64/3c09cebeb099820d.S @@ -1,8 +1,8 @@ func000000000000000d: # @func000000000000000d sext.b a0, a0 sh2add a0, a0, a0 - li a1, -528 - sh1add a0, a0, a1 + slli a0, a0, 1 + addi a0, a0, -528 ret func0000000000000005: # @func0000000000000005 lui a1, 244141 diff --git a/result/rvb23u64/3c3a2de1d4d7af37.S b/result/rvb23u64/3c3a2de1d4d7af37.S index 5e035e9ca57..d3db1595665 100644 --- a/result/rvb23u64/3c3a2de1d4d7af37.S +++ b/result/rvb23u64/3c3a2de1d4d7af37.S @@ -1,4 +1,5 @@ func0000000000000000: # @func0000000000000000 + sh1add a1, a1, a1 slli a2, a0, 32 lui a3, 699051 addi a3, a3, -1365 @@ -8,7 +9,6 @@ func0000000000000000: # @func0000000000000000 sh1add a2, a2, a2 slli a2, a2, 3 subw a0, a0, a2 - sh1add a1, a1, a1 sh3add a0, a1, a0 sext.w a0, a0 ret diff --git a/result/rvb23u64/3c99e6e2e3ebdb6c.S b/result/rvb23u64/3c99e6e2e3ebdb6c.S index c07b65d81b4..70d28b7d036 100644 --- a/result/rvb23u64/3c99e6e2e3ebdb6c.S +++ b/result/rvb23u64/3c99e6e2e3ebdb6c.S @@ -9,7 +9,9 @@ func0000000000000015: # @func0000000000000015 srli a2, a1, 63 add a1, a1, a2 srai a1, a1, 1 - neg a1, a1 - sh1add a1, a1, a1 - sh3add a0, a1, a0 + neg a2, a1 + slli a1, a1, 3 + slli a2, a2, 4 + sub a0, a0, a1 + add a0, a0, a2 ret diff --git a/result/rvb23u64/3cb7610dc438f20c.S b/result/rvb23u64/3cb7610dc438f20c.S index f6cd34df7d8..01a817cb2e6 100644 --- a/result/rvb23u64/3cb7610dc438f20c.S +++ b/result/rvb23u64/3cb7610dc438f20c.S @@ -16,8 +16,8 @@ func0000000000000000: # @func0000000000000000 func0000000000000005: # @func0000000000000005 srai a0, a0, 5 sh1add a0, a0, a0 - li a1, -24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, -24 lui a1, 699051 addiw a1, a1, -1365 slli a2, a1, 32 diff --git a/result/rvb23u64/3d172490eeb15193.S b/result/rvb23u64/3d172490eeb15193.S index 15d8d4beb3c..59f370123da 100644 --- a/result/rvb23u64/3d172490eeb15193.S +++ b/result/rvb23u64/3d172490eeb15193.S @@ -1,8 +1,10 @@ func000000000000000b: # @func000000000000000b zext.h a1, a1 - neg a1, a1 - sh1add a1, a1, a1 - sh3add a0, a1, a0 + neg a2, a1 + slli a2, a2, 4 + slli a1, a1, 3 + sub a0, a0, a1 + add a0, a0, a2 ret func0000000000000003: # @func0000000000000003 zext.h a1, a1 diff --git a/result/rvb23u64/3d1ca88d019d27e2.S b/result/rvb23u64/3d1ca88d019d27e2.S index cd54713607d..148d2d3c9dd 100644 --- a/result/rvb23u64/3d1ca88d019d27e2.S +++ b/result/rvb23u64/3d1ca88d019d27e2.S @@ -12,9 +12,11 @@ func0000000000000007: # @func0000000000000007 srai a2, a2, 32 sh1add a2, a2, a2 sh2add a0, a2, a0 - neg a1, a1 - sh1add a1, a1, a1 - sh2add a0, a1, a0 + neg a2, a1 + slli a2, a2, 3 + slli a1, a1, 2 + sub a2, a2, a1 + add a0, a0, a2 ret func0000000000000014: # @func0000000000000014 srai a2, a2, 32 diff --git a/result/rvb23u64/3d5334ad62ccdf69.S b/result/rvb23u64/3d5334ad62ccdf69.S index f943361d46a..e1e7c87d082 100644 --- a/result/rvb23u64/3d5334ad62ccdf69.S +++ b/result/rvb23u64/3d5334ad62ccdf69.S @@ -20,8 +20,9 @@ func000000000000002b: # @func000000000000002b mulhu a1, a1, a2 srli a1, a1, 3 addi a1, a1, -2 - srli a1, a1, 1 - sh1add a1, a1, a1 + srli a2, a1, 1 + andi a1, a1, -2 + add a1, a1, a2 sh2add a0, a1, a0 addi a0, a0, 8 ret diff --git a/result/rvb23u64/3daecd1864373d65.S b/result/rvb23u64/3daecd1864373d65.S index 01423844915..feb345f4277 100644 --- a/result/rvb23u64/3daecd1864373d65.S +++ b/result/rvb23u64/3daecd1864373d65.S @@ -1,8 +1,10 @@ func000000000000002c: # @func000000000000002c zext.h a2, a2 - neg a2, a2 - sh1add a2, a2, a2 - sh3add a1, a2, a1 + neg a3, a2 + slli a3, a3, 4 + slli a2, a2, 3 + sub a1, a1, a2 + add a1, a1, a3 sub a0, a0, a1 ret func000000000000000c: # @func000000000000000c diff --git a/result/rvb23u64/3dd941fb1df778f9.S b/result/rvb23u64/3dd941fb1df778f9.S index 5234416bfec..5503493a997 100644 --- a/result/rvb23u64/3dd941fb1df778f9.S +++ b/result/rvb23u64/3dd941fb1df778f9.S @@ -1,8 +1,8 @@ func000000000000001a: # @func000000000000001a - zext.w a0, a0 - sh1add a0, a0, a0 - li a1, -12 - sh2add a0, a0, a1 + zext.w a1, a0 + sh1add.uw a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, -12 lui a1, 699051 addiw a1, a1, -1365 slli a2, a1, 32 diff --git a/result/rvb23u64/3e88927b171b865b.S b/result/rvb23u64/3e88927b171b865b.S index a4f3cbf4be6..e0708d5bdaa 100644 --- a/result/rvb23u64/3e88927b171b865b.S +++ b/result/rvb23u64/3e88927b171b865b.S @@ -19,8 +19,9 @@ func0000000000000003: # @func0000000000000003 li a2, -1 slli a2, a2, 32 add a1, a1, a2 - srai a1, a1, 32 - sh2add a1, a1, a1 + srai a2, a1, 32 + srai a1, a1, 30 + add a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 36 ret diff --git a/result/rvb23u64/3e98fc4d65fb31e8.S b/result/rvb23u64/3e98fc4d65fb31e8.S index b448f9830cf..cc927fa5f2d 100644 --- a/result/rvb23u64/3e98fc4d65fb31e8.S +++ b/result/rvb23u64/3e98fc4d65fb31e8.S @@ -1,20 +1,23 @@ func0000000000000005: # @func0000000000000005 andi a1, a1, 1 - sh2add a1, a1, a1 - sh3add a0, a1, a0 + slli a2, a1, 5 + sh3add a1, a1, a2 + add a0, a0, a1 addi a0, a0, 32 ret func0000000000000006: # @func0000000000000006 andi a1, a1, 1 - sh1add a1, a1, a1 - sh3add a0, a1, a0 + slli a2, a1, 4 + sh3add a1, a1, a2 + add a0, a0, a1 li a1, 1866 sh3add a0, a1, a0 ret func0000000000000007: # @func0000000000000007 andi a1, a1, 1 - sh3add a1, a1, a1 - sh3add a0, a1, a0 + slli a2, a1, 6 + sh3add a1, a1, a2 + add a0, a0, a1 addi a0, a0, 16 ret func0000000000000004: # @func0000000000000004 diff --git a/result/rvb23u64/3f08164175ac485c.S b/result/rvb23u64/3f08164175ac485c.S index 61e8ad7c760..20328260f97 100644 --- a/result/rvb23u64/3f08164175ac485c.S +++ b/result/rvb23u64/3f08164175ac485c.S @@ -7,9 +7,11 @@ func0000000000000018: # @func0000000000000018 maxu a0, a1, a0 ret func0000000000000004: # @func0000000000000004 - neg a2, a2 - sh2add a2, a2, a2 - sh3add a1, a2, a1 + neg a3, a2 + slli a3, a3, 5 + slli a2, a2, 3 + sub a1, a1, a2 + add a1, a1, a3 minu a0, a1, a0 ret func0000000000000028: # @func0000000000000028 diff --git a/result/rvb23u64/3f1f06105e7d8351.S b/result/rvb23u64/3f1f06105e7d8351.S index 420d4554fe3..e0a598b4315 100644 --- a/result/rvb23u64/3f1f06105e7d8351.S +++ b/result/rvb23u64/3f1f06105e7d8351.S @@ -26,8 +26,8 @@ func00000000000001e5: # @func00000000000001e5 func00000000000001ff: # @func00000000000001ff sh2add a2, a2, a2 sh1add a1, a2, a1 - andi a0, a0, 255 sh2add a1, a1, a1 + andi a0, a0, 255 sh1add a0, a1, a0 sext.w a0, a0 ret @@ -50,36 +50,36 @@ func00000000000001a5: # @func00000000000001a5 func00000000000000b0: # @func00000000000000b0 sh2add a2, a2, a2 sh1add a1, a2, a1 - sext.w a0, a0 sh2add a1, a1, a1 + sext.w a0, a0 sh1add a0, a1, a0 ret func0000000000000010: # @func0000000000000010 sh2add a2, a2, a2 sh1add a1, a2, a1 - sext.w a0, a0 sh2add a1, a1, a1 + sext.w a0, a0 sh1add a0, a1, a0 ret func00000000000001e8: # @func00000000000001e8 sh2add a2, a2, a2 sh1add a1, a2, a1 - andi a0, a0, 255 sh2add a1, a1, a1 + andi a0, a0, 255 sh1add a0, a1, a0 sext.w a0, a0 ret func00000000000001fa: # @func00000000000001fa sh2add a2, a2, a2 sh1add a1, a2, a1 - andi a0, a0, 255 sh2add a1, a1, a1 + andi a0, a0, 255 sh1add a0, a1, a0 ret func0000000000000148: # @func0000000000000148 sh2add a2, a2, a2 sh1add a1, a2, a1 - andi a0, a0, 255 sh2add a1, a1, a1 + andi a0, a0, 255 sh1add a0, a1, a0 ret diff --git a/result/rvb23u64/3f2f9976c425dc97.S b/result/rvb23u64/3f2f9976c425dc97.S index d26555cd6b4..7af59078d55 100644 --- a/result/rvb23u64/3f2f9976c425dc97.S +++ b/result/rvb23u64/3f2f9976c425dc97.S @@ -9,7 +9,8 @@ func0000000000000006: # @func0000000000000006 ret func0000000000000007: # @func0000000000000007 andi a1, a1, 1 - sh2add a1, a1, a1 - sh3add a0, a1, a0 + slli a2, a1, 5 + sh3add a1, a1, a2 + add a0, a0, a1 addi a0, a0, 104 ret diff --git a/result/rvb23u64/3f98e510f9493a86.S b/result/rvb23u64/3f98e510f9493a86.S index a7bb9f9ac91..eaf8ce303c9 100644 --- a/result/rvb23u64/3f98e510f9493a86.S +++ b/result/rvb23u64/3f98e510f9493a86.S @@ -38,10 +38,10 @@ func000000000000001e: # @func000000000000001e addi a0, a0, 2 ret func0000000000000007: # @func0000000000000007 + sh2add a2, a2, a2 sh2add a1, a1, a1 sh3add a0, a1, a0 - sh2add a1, a2, a2 - sh3add a0, a1, a0 + sh3add a0, a2, a0 addi a0, a0, -32 ret func000000000000001b: # @func000000000000001b diff --git a/result/rvb23u64/400fd773874847c4.S b/result/rvb23u64/400fd773874847c4.S index dfd3bee261c..c735ce69f45 100644 --- a/result/rvb23u64/400fd773874847c4.S +++ b/result/rvb23u64/400fd773874847c4.S @@ -6,9 +6,11 @@ func000000000000000b: # @func000000000000000b slli a3, a2, 32 add a2, a2, a3 mul a1, a1, a2 - neg a1, a1 - sh2add a1, a1, a1 - sh3add a0, a1, a0 + neg a2, a1 + slli a1, a1, 3 + slli a2, a2, 5 + sub a0, a0, a1 + add a0, a0, a2 ret func000000000000000a: # @func000000000000000a sub a1, a1, a2 @@ -18,7 +20,9 @@ func000000000000000a: # @func000000000000000a slli a3, a2, 32 add a2, a2, a3 mul a1, a1, a2 - neg a1, a1 - sh2add a1, a1, a1 - sh3add a0, a1, a0 + neg a2, a1 + slli a1, a1, 3 + slli a2, a2, 5 + sub a0, a0, a1 + add a0, a0, a2 ret diff --git a/result/rvb23u64/406d0ea074720266.S b/result/rvb23u64/406d0ea074720266.S index e9ab632bbb9..5695e236472 100644 --- a/result/rvb23u64/406d0ea074720266.S +++ b/result/rvb23u64/406d0ea074720266.S @@ -47,17 +47,15 @@ func0000000000000014: # @func0000000000000014 func0000000000000035: # @func0000000000000035 subw a2, a2, a1 addi a2, a2, 1 - zext.w a2, a2 - li a1, 68 - mul a1, a1, a2 + slli.uw a1, a2, 6 + sh2add.uw a1, a2, a1 add a0, a0, a1 ret func0000000000000031: # @func0000000000000031 subw a2, a2, a1 addi a2, a2, 1 - zext.w a2, a2 - li a1, 68 - mul a1, a1, a2 + slli.uw a1, a2, 6 + sh2add.uw a1, a2, a1 add a0, a0, a1 ret func0000000000000000: # @func0000000000000000 diff --git a/result/rvb23u64/407cc4fc7fb06f24.S b/result/rvb23u64/407cc4fc7fb06f24.S index ca11abb0c87..b0fcc797cc3 100644 --- a/result/rvb23u64/407cc4fc7fb06f24.S +++ b/result/rvb23u64/407cc4fc7fb06f24.S @@ -56,8 +56,8 @@ func000000000000000c: # @func000000000000000c ret func0000000000000009: # @func0000000000000009 addi a1, a1, -1 - zext.w a1, a1 - sh3add a1, a1, a1 + zext.w a2, a1 + sh3add.uw a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 64 ret diff --git a/result/rvb23u64/40fb6de66a2546f7.S b/result/rvb23u64/40fb6de66a2546f7.S index f0ae93560a4..a8bbac289b4 100644 --- a/result/rvb23u64/40fb6de66a2546f7.S +++ b/result/rvb23u64/40fb6de66a2546f7.S @@ -16,9 +16,9 @@ func0000000000000030: # @func0000000000000030 ret func000000000000007f: # @func000000000000007f zext.h a1, a1 + sh1add a1, a1, a1 sh2add a2, a0, a0 sh1add a0, a2, a0 - sh1add a1, a1, a1 sh1add a0, a1, a0 sext.w a0, a0 ret diff --git a/result/rvb23u64/4126e72d89322028.S b/result/rvb23u64/4126e72d89322028.S index ff0571c3c5b..8998b837771 100644 --- a/result/rvb23u64/4126e72d89322028.S +++ b/result/rvb23u64/4126e72d89322028.S @@ -1,7 +1,8 @@ func0000000000000013: # @func0000000000000013 - addw a1, a1, a2 - srli a1, a1, 1 - sh1add a1, a1, a1 + add a1, a1, a2 + srli a2, a1, 1 + andi a1, a1, -2 + add a1, a1, a2 slliw a1, a1, 1 add a0, a0, a1 ret diff --git a/result/rvb23u64/4213203389bbfa4c.S b/result/rvb23u64/4213203389bbfa4c.S index 7d797f4cc29..c5378626947 100644 --- a/result/rvb23u64/4213203389bbfa4c.S +++ b/result/rvb23u64/4213203389bbfa4c.S @@ -5,8 +5,9 @@ func0000000000000004: # @func0000000000000004 slli a3, a2, 32 add a2, a2, a3 mulhu a1, a1, a2 - srli a1, a1, 1 - sh1add a1, a1, a1 + srli a2, a1, 1 + andi a1, a1, -2 + add a1, a1, a2 sh2add a0, a1, a0 ret func0000000000000032: # @func0000000000000032 diff --git a/result/rvb23u64/4222d4e33fddc405.S b/result/rvb23u64/4222d4e33fddc405.S index f99edb47e70..7a4e2f1a5d7 100644 --- a/result/rvb23u64/4222d4e33fddc405.S +++ b/result/rvb23u64/4222d4e33fddc405.S @@ -33,6 +33,6 @@ func0000000000000001: # @func0000000000000001 ret func0000000000000003: # @func0000000000000003 sh1add a0, a0, a0 - slli a0, a0, 2 - srliw a0, a0, 3 + slli a0, a0, 34 + srli a0, a0, 35 ret diff --git a/result/rvb23u64/4225ee1a78f621ec.S b/result/rvb23u64/4225ee1a78f621ec.S index 0c21551d945..21ff38a619b 100644 --- a/result/rvb23u64/4225ee1a78f621ec.S +++ b/result/rvb23u64/4225ee1a78f621ec.S @@ -16,10 +16,10 @@ func0000000000000007: # @func0000000000000007 sh2add a0, a1, a0 ret func0000000000000001: # @func0000000000000001 - zext.w a2, a2 + zext.w a3, a2 sh1add a1, a1, a1 sh3add a0, a1, a0 - sh1add a1, a2, a2 + sh1add.uw a1, a2, a3 sh3add a0, a1, a0 ret func0000000000000004: # @func0000000000000004 diff --git a/result/rvb23u64/42befe44e00d5392.S b/result/rvb23u64/42befe44e00d5392.S index 2771d123f28..f71d5760bfd 100644 --- a/result/rvb23u64/42befe44e00d5392.S +++ b/result/rvb23u64/42befe44e00d5392.S @@ -12,8 +12,8 @@ func0000000000000003: # @func0000000000000003 ret func0000000000000001: # @func0000000000000001 add a1, a1, a2 - zext.w a1, a1 - sh2add a1, a1, a1 + zext.w a2, a1 + sh2add.uw a1, a1, a2 sh2add a0, a1, a0 addi a0, a0, 4 ret diff --git a/result/rvb23u64/43a510895c2b4498.S b/result/rvb23u64/43a510895c2b4498.S index ebe0e1787b3..5751b682f4e 100644 --- a/result/rvb23u64/43a510895c2b4498.S +++ b/result/rvb23u64/43a510895c2b4498.S @@ -1,6 +1,6 @@ func0000000000000005: # @func0000000000000005 zext.h a1, a1 - sub a0, a0, a1 + subw a0, a0, a1 sh2add a0, a0, a0 slliw a0, a0, 1 ret diff --git a/result/rvb23u64/44963c3c9024bbfd.S b/result/rvb23u64/44963c3c9024bbfd.S index b98d5de702a..95d15d6850a 100644 --- a/result/rvb23u64/44963c3c9024bbfd.S +++ b/result/rvb23u64/44963c3c9024bbfd.S @@ -1,7 +1,7 @@ func000000000000007c: # @func000000000000007c sext.w a1, a1 sh1add a1, a1, a1 - li a2, 6 - sh1add a1, a1, a2 + slli a1, a1, 1 + addi a1, a1, 6 mul a0, a0, a1 ret diff --git a/result/rvb23u64/451c135ef46808be.S b/result/rvb23u64/451c135ef46808be.S index 0790e98acf6..5cab6e6a598 100644 --- a/result/rvb23u64/451c135ef46808be.S +++ b/result/rvb23u64/451c135ef46808be.S @@ -6,15 +6,14 @@ func000000000000001f: # @func000000000000001f ret func0000000000000014: # @func0000000000000014 sh1add a1, a1, a1 - li a2, -6 - sh1add a1, a1, a2 + slli a1, a1, 1 + addi a1, a1, -6 sh1add.uw a0, a1, a0 ret func0000000000000016: # @func0000000000000016 sh1add a1, a1, a1 - li a2, -6 - sh1add a1, a1, a2 - sext.w a1, a1 + slli a1, a1, 1 + addiw a1, a1, -6 sh1add a0, a1, a0 ret func000000000000001e: # @func000000000000001e diff --git a/result/rvb23u64/45c08ac9ae6a6870.S b/result/rvb23u64/45c08ac9ae6a6870.S index a2194187f5b..81dd26b2bb6 100644 --- a/result/rvb23u64/45c08ac9ae6a6870.S +++ b/result/rvb23u64/45c08ac9ae6a6870.S @@ -9,17 +9,21 @@ func000000000000000f: # @func000000000000000f sext.w a2, a2 sh1add a2, a2, a2 sh2add a0, a2, a0 - neg a1, a1 - sh1add a1, a1, a1 - sh2add a0, a1, a0 + neg a2, a1 + slli a2, a2, 3 + slli a1, a1, 2 + sub a2, a2, a1 + add a0, a0, a2 addi a0, a0, 8 ret func000000000000000e: # @func000000000000000e sext.w a2, a2 sh1add a2, a2, a2 sh2add a0, a2, a0 - neg a1, a1 - sh1add a1, a1, a1 - sh2add a0, a1, a0 + neg a2, a1 + slli a2, a2, 3 + slli a1, a1, 2 + sub a2, a2, a1 + add a0, a0, a2 addi a0, a0, 8 ret diff --git a/result/rvb23u64/462c29f949ae982c.S b/result/rvb23u64/462c29f949ae982c.S index 5bf10df51c5..24667c3f978 100644 --- a/result/rvb23u64/462c29f949ae982c.S +++ b/result/rvb23u64/462c29f949ae982c.S @@ -27,8 +27,8 @@ func0000000000000000: # @func0000000000000000 ret func0000000000000001: # @func0000000000000001 and a1, a1, a2 - zext.w a1, a1 - sh2add a1, a1, a1 + zext.w a2, a1 + sh2add.uw a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 4 ret diff --git a/result/rvb23u64/467649e1945de86e.S b/result/rvb23u64/467649e1945de86e.S index 47362fdc7e6..ec242342552 100644 --- a/result/rvb23u64/467649e1945de86e.S +++ b/result/rvb23u64/467649e1945de86e.S @@ -35,16 +35,16 @@ func0000000000000058: # @func0000000000000058 xori a0, a0, 1 ret func00000000000000f4: # @func00000000000000f4 + zext.w a1, a1 sh2add a0, a0, a0 - slli a0, a0, 1 - add.uw a0, a1, a0 + sh1add a0, a0, a1 srli a0, a0, 31 seqz a0, a0 ret func00000000000000f8: # @func00000000000000f8 + zext.w a1, a1 sh2add a0, a0, a0 - slli a0, a0, 1 - add.uw a0, a1, a0 + sh1add a0, a0, a1 srli a0, a0, 31 snez a0, a0 ret @@ -95,14 +95,15 @@ func0000000000000106: # @func0000000000000106 srli a0, a0, 63 ret func0000000000000156: # @func0000000000000156 + zext.w a2, a2 li a3, 10 mulhu a3, a0, a3 sh2add a1, a1, a1 sh1add a1, a1, a3 sh2add a0, a0, a0 - slli a0, a0, 1 - add.uw a2, a2, a0 - sltu a0, a2, a0 + slli a3, a0, 1 + sh1add a0, a0, a2 + sltu a0, a0, a3 add a0, a0, a1 srli a0, a0, 63 ret diff --git a/result/rvb23u64/478db72aace4e5df.S b/result/rvb23u64/478db72aace4e5df.S index b99f1a87aa0..6fc559e59c3 100644 --- a/result/rvb23u64/478db72aace4e5df.S +++ b/result/rvb23u64/478db72aace4e5df.S @@ -14,8 +14,9 @@ func000000000000000a: # @func000000000000000a ret func000000000000000b: # @func000000000000000b addi a1, a1, -2 - srli a1, a1, 1 - sh1add a1, a1, a1 + srli a2, a1, 1 + andi a1, a1, -2 + add a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 8 ret @@ -44,8 +45,9 @@ func0000000000000002: # @func0000000000000002 ret func0000000000000008: # @func0000000000000008 addi a1, a1, -1 - srli a1, a1, 1 - sh1add a1, a1, a1 + srli a2, a1, 1 + andi a1, a1, -2 + add a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 4 ret diff --git a/result/rvb23u64/48683106e4944a0c.S b/result/rvb23u64/48683106e4944a0c.S index f2514c3cbbe..622d2ce7ed6 100644 --- a/result/rvb23u64/48683106e4944a0c.S +++ b/result/rvb23u64/48683106e4944a0c.S @@ -1,7 +1,7 @@ func0000000000000005: # @func0000000000000005 + sh2add a2, a2, a2 li a3, -40 mul a1, a1, a3 - sh2add a2, a2, a2 sh1add a1, a2, a1 sltu a0, a1, a0 xori a0, a0, 1 diff --git a/result/rvb23u64/488e351ba86ffd03.S b/result/rvb23u64/488e351ba86ffd03.S index ba5dbba8c2e..cd599f657c5 100644 --- a/result/rvb23u64/488e351ba86ffd03.S +++ b/result/rvb23u64/488e351ba86ffd03.S @@ -1,8 +1,8 @@ func0000000000000030: # @func0000000000000030 - zext.w a2, a2 + zext.w a3, a2 + sh1add.uw a2, a2, a3 add a0, a0, a1 - sh1add a1, a2, a2 - sh3add a0, a1, a0 + sh3add a0, a2, a0 ret func0000000000000075: # @func0000000000000075 sext.w a2, a2 @@ -45,9 +45,9 @@ func000000000000003f: # @func000000000000003f ret func0000000000000035: # @func0000000000000035 andi a2, a2, 255 + sh2add a2, a2, a2 add a0, a0, a1 - sh2add a1, a2, a2 - sh1add a0, a1, a0 + sh1add a0, a2, a0 sext.w a0, a0 ret func000000000000000c: # @func000000000000000c diff --git a/result/rvb23u64/48a59ebf3232a228.S b/result/rvb23u64/48a59ebf3232a228.S index c4eba83e8f2..57ebf0ed281 100644 --- a/result/rvb23u64/48a59ebf3232a228.S +++ b/result/rvb23u64/48a59ebf3232a228.S @@ -13,8 +13,8 @@ func0000000000000007: # @func0000000000000007 ret func0000000000000003: # @func0000000000000003 and a1, a1, a2 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 8 ret @@ -28,8 +28,8 @@ func0000000000000005: # @func0000000000000005 ret func0000000000000001: # @func0000000000000001 and a1, a1, a2 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 12 ret diff --git a/result/rvb23u64/491233976c5bf62f.S b/result/rvb23u64/491233976c5bf62f.S index f128120a7c5..660563b5d5e 100644 --- a/result/rvb23u64/491233976c5bf62f.S +++ b/result/rvb23u64/491233976c5bf62f.S @@ -1,8 +1,10 @@ func0000000000000003: # @func0000000000000003 and a1, a1, a2 - neg a1, a1 - sh3add a1, a1, a1 - sh3add a0, a1, a0 + neg a2, a1 + slli a1, a1, 3 + slli a2, a2, 6 + sub a0, a0, a1 + add a0, a0, a2 ret func0000000000000001: # @func0000000000000001 and a1, a1, a2 diff --git a/result/rvb23u64/494bb69e24212a58.S b/result/rvb23u64/494bb69e24212a58.S index ba048679803..bad7ba635ea 100644 --- a/result/rvb23u64/494bb69e24212a58.S +++ b/result/rvb23u64/494bb69e24212a58.S @@ -10,8 +10,8 @@ func0000000000000001: # @func0000000000000001 ret func000000000000000d: # @func000000000000000d slli a1, a1, 50 - lui a2, 24 - mulhu a1, a1, a2 - srli a1, a1, 3 + srli a1, a1, 50 + sh1add a1, a1, a1 + srli a1, a1, 2 add a0, a0, a1 ret diff --git a/result/rvb23u64/49a8188216a57bb8.S b/result/rvb23u64/49a8188216a57bb8.S index 80abcc38103..5ba746a0d73 100644 --- a/result/rvb23u64/49a8188216a57bb8.S +++ b/result/rvb23u64/49a8188216a57bb8.S @@ -7,8 +7,8 @@ func000000000000000b: # @func000000000000000b add a2, a2, a3 mul a1, a1, a2 addi a1, a1, -1 - zext.w a1, a1 - sh2add a1, a1, a1 + zext.w a2, a1 + sh2add.uw a1, a1, a2 sh2add a0, a1, a0 ret func000000000000000a: # @func000000000000000a diff --git a/result/rvb23u64/49c6d09d535a8e83.S b/result/rvb23u64/49c6d09d535a8e83.S index d38a16b29fe..b6e67b70edc 100644 --- a/result/rvb23u64/49c6d09d535a8e83.S +++ b/result/rvb23u64/49c6d09d535a8e83.S @@ -1,8 +1,8 @@ func0000000000000078: # @func0000000000000078 andi a1, a1, 7 sh1add a1, a1, a1 - li a2, 7 - sh1add a1, a1, a2 + slli a1, a1, 1 + addi a1, a1, 7 srli a1, a1, 3 add a0, a0, a1 ret diff --git a/result/rvb23u64/4a49c68dd7d9e3da.S b/result/rvb23u64/4a49c68dd7d9e3da.S index 58086a73e26..cd329e42590 100644 --- a/result/rvb23u64/4a49c68dd7d9e3da.S +++ b/result/rvb23u64/4a49c68dd7d9e3da.S @@ -19,8 +19,8 @@ func0000000000000017: # @func0000000000000017 mulhu a1, a1, a2 srli a1, a1, 3 addi a1, a1, -2 - srli a1, a1, 1 - sh1add a1, a1, a1 + srli a2, a1, 1 + add a1, a1, a2 sh2add a0, a1, a0 ret func0000000000000014: # @func0000000000000014 @@ -31,7 +31,8 @@ func0000000000000014: # @func0000000000000014 mulhu a1, a1, a2 srli a1, a1, 4 addi a1, a1, -2 - srli a1, a1, 1 - sh1add a1, a1, a1 + srli a2, a1, 1 + andi a1, a1, -2 + add a1, a1, a2 sh3add a0, a1, a0 ret diff --git a/result/rvb23u64/4a78df77c7b6d86d.S b/result/rvb23u64/4a78df77c7b6d86d.S index a942bd67338..a860f385146 100644 --- a/result/rvb23u64/4a78df77c7b6d86d.S +++ b/result/rvb23u64/4a78df77c7b6d86d.S @@ -1,19 +1,22 @@ func000000000000000e: # @func000000000000000e sub a1, a1, a2 - srai a1, a1, 3 - sh1add a1, a1, a1 + srli a2, a1, 3 + srli a1, a1, 2 + add a1, a1, a2 sh3add a0, a1, a0 ret func000000000000000b: # @func000000000000000b sub a1, a1, a2 - srai a1, a1, 4 - sh3add a1, a1, a1 + srai a2, a1, 4 + srli a1, a1, 1 + add a1, a1, a2 sh2add a0, a1, a0 ret func0000000000000008: # @func0000000000000008 sub a1, a1, a2 - srai a1, a1, 4 - sh3add a1, a1, a1 + srai a2, a1, 4 + srli a1, a1, 1 + add a1, a1, a2 sh2add a0, a1, a0 ret func0000000000000002: # @func0000000000000002 @@ -23,8 +26,8 @@ func0000000000000002: # @func0000000000000002 ret func0000000000000009: # @func0000000000000009 sub a1, a1, a2 - srli a1, a1, 3 - sh3add a1, a1, a1 + srli a2, a1, 3 + add a1, a1, a2 sh3add a0, a1, a0 ret func000000000000000a: # @func000000000000000a diff --git a/result/rvb23u64/4a8fb27ba378bd40.S b/result/rvb23u64/4a8fb27ba378bd40.S index 0832259992f..27d3e88adf0 100644 --- a/result/rvb23u64/4a8fb27ba378bd40.S +++ b/result/rvb23u64/4a8fb27ba378bd40.S @@ -10,9 +10,9 @@ func0000000000000015: # @func0000000000000015 addw a0, a0, a2 ret func0000000000000010: # @func0000000000000010 + sh1add a2, a2, a2 add a0, a0, a1 - sh1add a1, a2, a2 - sh1add a0, a1, a0 + sh1add a0, a2, a0 sext.w a0, a0 ret func0000000000000014: # @func0000000000000014 diff --git a/result/rvb23u64/4a9f38bc1e0b5937.S b/result/rvb23u64/4a9f38bc1e0b5937.S index 61026a53364..5ae08c19f77 100644 --- a/result/rvb23u64/4a9f38bc1e0b5937.S +++ b/result/rvb23u64/4a9f38bc1e0b5937.S @@ -1,6 +1,6 @@ func000000000000002a: # @func000000000000002a mul a2, a2, a0 - sub a1, a1, a2 + subw a1, a1, a2 sh2add a1, a1, a1 slli a1, a1, 1 divw a0, a1, a0 diff --git a/result/rvb23u64/4a9f97ae30cd67a0.S b/result/rvb23u64/4a9f97ae30cd67a0.S index 785cc0e027e..ec86359cbb4 100644 --- a/result/rvb23u64/4a9f97ae30cd67a0.S +++ b/result/rvb23u64/4a9f97ae30cd67a0.S @@ -7,10 +7,11 @@ func0000000000000015: # @func0000000000000015 ret func0000000000000010: # @func0000000000000010 sub a0, a0, a1 - srai a0, a0, 3 - sh1add a0, a0, a0 - li a1, 24 - sh3add a0, a0, a1 + srli a1, a0, 3 + srli a0, a0, 2 + add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 24 ret func000000000000001f: # @func000000000000001f sub a0, a0, a1 @@ -21,8 +22,9 @@ func000000000000001f: # @func000000000000001f ret func0000000000000011: # @func0000000000000011 sub a0, a0, a1 - srai a0, a0, 3 - sh1add a0, a0, a0 - li a1, -4 - sh2add a0, a0, a1 + srai a1, a0, 3 + srli a0, a0, 2 + add a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, -4 ret diff --git a/result/rvb23u64/4b02d85ce0d34cd4.S b/result/rvb23u64/4b02d85ce0d34cd4.S index 1816b9dc1ac..b6e5355da61 100644 --- a/result/rvb23u64/4b02d85ce0d34cd4.S +++ b/result/rvb23u64/4b02d85ce0d34cd4.S @@ -1,8 +1,8 @@ func0000000000000055: # @func0000000000000055 sh3add a0, a1, a0 sh2add a0, a0, a0 - li a1, 320 - sh2add a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, 320 ret func00000000000000f1: # @func00000000000000f1 sh3add a0, a1, a0 diff --git a/result/rvb23u64/4b0c51496b33f558.S b/result/rvb23u64/4b0c51496b33f558.S index 23d38510cfc..497d08a53cd 100644 --- a/result/rvb23u64/4b0c51496b33f558.S +++ b/result/rvb23u64/4b0c51496b33f558.S @@ -10,8 +10,9 @@ func0000000000000041: # @func0000000000000041 func0000000000000046: # @func0000000000000046 srli a3, a2, 63 add a2, a2, a3 - srai a2, a2, 1 - sh1add a2, a2, a2 + srli a3, a2, 1 + andi a2, a2, -2 + add a2, a2, a3 sh3add a1, a2, a1 sub a0, a0, a1 slti a0, a0, 168 diff --git a/result/rvb23u64/4b61eac5977450d2.S b/result/rvb23u64/4b61eac5977450d2.S index 5dd503625d3..fddfa97a859 100644 --- a/result/rvb23u64/4b61eac5977450d2.S +++ b/result/rvb23u64/4b61eac5977450d2.S @@ -39,8 +39,8 @@ func000000000000003f: # @func000000000000003f addw a0, a0, a1 ret func0000000000000010: # @func0000000000000010 - andi a1, a1, -8 sh1add a2, a2, a2 + andi a1, a1, -8 sh3add a1, a2, a1 add a0, a0, a1 ret diff --git a/result/rvb23u64/4c088248d1e71703.S b/result/rvb23u64/4c088248d1e71703.S index 54df24f0090..d7bcfc5b25a 100644 --- a/result/rvb23u64/4c088248d1e71703.S +++ b/result/rvb23u64/4c088248d1e71703.S @@ -1,5 +1,5 @@ func0000000000000000: # @func0000000000000000 sh1add a0, a0, a0 - li a1, 39 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 39 ret diff --git a/result/rvb23u64/4c17996f154b8efc.S b/result/rvb23u64/4c17996f154b8efc.S index 2c564c65523..d341ac65c9f 100644 --- a/result/rvb23u64/4c17996f154b8efc.S +++ b/result/rvb23u64/4c17996f154b8efc.S @@ -1,8 +1,8 @@ func0000000000000000: # @func0000000000000000 - sub a0, a0, a1 + subw a0, a0, a1 sh1add a0, a0, a0 - slli a0, a0, 1 - zext.w a0, a0 + slli a0, a0, 33 + srli a0, a0, 32 ret func000000000000000a: # @func000000000000000a subw a0, a0, a1 diff --git a/result/rvb23u64/4c7cc920e2689293.S b/result/rvb23u64/4c7cc920e2689293.S index cbabc62cdab..6574d13cb65 100644 --- a/result/rvb23u64/4c7cc920e2689293.S +++ b/result/rvb23u64/4c7cc920e2689293.S @@ -31,8 +31,8 @@ func0000000000000055: # @func0000000000000055 ret func00000000000000f0: # @func00000000000000f0 sh1add a2, a2, a2 - li a3, 6 - sh1add a2, a2, a3 + slli a2, a2, 1 + addi a2, a2, 6 mul a1, a1, a2 add a0, a0, a1 ret diff --git a/result/rvb23u64/4cb874191077db66.S b/result/rvb23u64/4cb874191077db66.S index 16a1401a485..de8aaba3b81 100644 --- a/result/rvb23u64/4cb874191077db66.S +++ b/result/rvb23u64/4cb874191077db66.S @@ -11,7 +11,7 @@ func0000000000000000: # @func0000000000000000 subw a2, a2, a1 srliw a2, a2, 1 add a1, a1, a2 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh2add a0, a1, a0 ret diff --git a/result/rvb23u64/4cc224e5e743f6e9.S b/result/rvb23u64/4cc224e5e743f6e9.S index 2ecc439fe65..f41756725e9 100644 --- a/result/rvb23u64/4cc224e5e743f6e9.S +++ b/result/rvb23u64/4cc224e5e743f6e9.S @@ -1,8 +1,7 @@ func0000000000000071: # @func0000000000000071 sh2add a1, a1, a1 - li a2, 10 - sh1add a1, a1, a2 - sext.w a1, a1 + slli a1, a1, 1 + addiw a1, a1, 10 addi a0, a0, 1 xor a0, a0, a1 seqz a0, a0 diff --git a/result/rvb23u64/4cd8af7565a91ae9.S b/result/rvb23u64/4cd8af7565a91ae9.S index e4887a5badd..c5a7c377e46 100644 --- a/result/rvb23u64/4cd8af7565a91ae9.S +++ b/result/rvb23u64/4cd8af7565a91ae9.S @@ -6,8 +6,10 @@ func0000000000000017: # @func0000000000000017 slli a3, a2, 32 add a2, a2, a3 mul a1, a1, a2 - neg a1, a1 - sh1add a1, a1, a1 - sh3add a0, a1, a0 + neg a2, a1 + slli a1, a1, 3 + slli a2, a2, 4 + sub a0, a0, a1 + add a0, a0, a2 addi a0, a0, -24 ret diff --git a/result/rvb23u64/4cfa7c8bc9651825.S b/result/rvb23u64/4cfa7c8bc9651825.S index d00c39c2058..38d41aa88dc 100644 --- a/result/rvb23u64/4cfa7c8bc9651825.S +++ b/result/rvb23u64/4cfa7c8bc9651825.S @@ -36,8 +36,9 @@ func0000000000000000: # @func0000000000000000 sraiw a3, a2, 31 srliw a3, a3, 30 add a2, a2, a3 - sraiw a2, a2, 2 - sh2add a2, a2, a2 + sraiw a3, a2, 2 + andi a2, a2, -4 + add a2, a2, a3 sh2add a1, a2, a1 add a0, a0, a1 addiw a0, a0, 1092 diff --git a/result/rvb23u64/4d1dbbd2c5fc6841.S b/result/rvb23u64/4d1dbbd2c5fc6841.S index 16500450cc3..66ffc0152ff 100644 --- a/result/rvb23u64/4d1dbbd2c5fc6841.S +++ b/result/rvb23u64/4d1dbbd2c5fc6841.S @@ -1,7 +1,7 @@ func0000000000000001: # @func0000000000000001 sext.w a1, a1 - li a2, 132 - mul a1, a1, a2 + slli a2, a1, 7 + sh2add a1, a1, a2 add a0, a0, a1 ret func0000000000000000: # @func0000000000000000 diff --git a/result/rvb23u64/4d27c5bd82749ce8.S b/result/rvb23u64/4d27c5bd82749ce8.S index 89a45fc5008..198346762b4 100644 --- a/result/rvb23u64/4d27c5bd82749ce8.S +++ b/result/rvb23u64/4d27c5bd82749ce8.S @@ -1,7 +1,9 @@ func0000000000000011: # @func0000000000000011 - neg a2, a2 - sh2add a2, a2, a2 - sh3add a1, a2, a1 + neg a3, a2 + slli a3, a3, 5 + slli a2, a2, 3 + sub a1, a1, a2 + add a1, a1, a3 sub a1, a1, a0 srai a1, a1, 3 lui a0, 209715 @@ -11,9 +13,11 @@ func0000000000000011: # @func0000000000000011 mul a0, a0, a1 ret func0000000000000001: # @func0000000000000001 - neg a2, a2 - sh1add a2, a2, a2 - sh3add a1, a2, a1 + neg a3, a2 + slli a3, a3, 4 + slli a2, a2, 3 + sub a1, a1, a2 + add a1, a1, a3 sub a1, a1, a0 srai a1, a1, 3 lui a0, 349525 @@ -23,9 +27,11 @@ func0000000000000001: # @func0000000000000001 mul a0, a0, a1 ret func0000000000000019: # @func0000000000000019 - neg a2, a2 - sh1add a2, a2, a2 - sh2add a1, a2, a1 + neg a3, a2 + slli a3, a3, 3 + slli a2, a2, 2 + sub a1, a1, a2 + add a1, a1, a3 sub a1, a1, a0 srai a1, a1, 2 lui a0, 699051 diff --git a/result/rvb23u64/4de256616d368af0.S b/result/rvb23u64/4de256616d368af0.S index ed8fc1f34b7..60b681123d5 100644 --- a/result/rvb23u64/4de256616d368af0.S +++ b/result/rvb23u64/4de256616d368af0.S @@ -1,9 +1,10 @@ func000000000000000f: # @func000000000000000f slli a1, a0, 58 srli a1, a1, 62 + slli a2, a1, 1 + sh3add a1, a1, a2 andi a0, a0, 15 - sh2add a1, a1, a1 - sh1add a0, a1, a0 + add a0, a0, a1 ret func000000000000000a: # @func000000000000000a srliw a1, a0, 18 diff --git a/result/rvb23u64/4e08befc8d9bacb7.S b/result/rvb23u64/4e08befc8d9bacb7.S index 41c351e451f..5054cdc42ab 100644 --- a/result/rvb23u64/4e08befc8d9bacb7.S +++ b/result/rvb23u64/4e08befc8d9bacb7.S @@ -20,23 +20,20 @@ func000000000000035d: # @func000000000000035d sh2add a1, a1, a1 sh1add a0, a1, a0 sh2add a0, a0, a0 - li a1, -528 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, -528 ret func0000000000000104: # @func0000000000000104 sh2add a1, a1, a1 sh1add a0, a1, a0 sh2add a0, a0, a0 - li a1, -528 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, -528 ret func0000000000000155: # @func0000000000000155 sh2add a1, a1, a1 sh1add a0, a1, a0 sh2add a0, a0, a0 - li a1, -528 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, -528 ret diff --git a/result/rvb23u64/4e510e9c462f8230.S b/result/rvb23u64/4e510e9c462f8230.S index a162769cac5..1139f2c10d2 100644 --- a/result/rvb23u64/4e510e9c462f8230.S +++ b/result/rvb23u64/4e510e9c462f8230.S @@ -7,6 +7,6 @@ func000000000000001d: # @func000000000000001d func0000000000000015: # @func0000000000000015 sext.w a1, a1 sh2add a1, a1, a1 - slli a1, a1, 3 - sh2add a0, a0, a1 + sh1add a0, a1, a0 + slli a0, a0, 2 ret diff --git a/result/rvb23u64/4ea4dccf52b7b901.S b/result/rvb23u64/4ea4dccf52b7b901.S index 3bb2c600027..2ace7f92440 100644 --- a/result/rvb23u64/4ea4dccf52b7b901.S +++ b/result/rvb23u64/4ea4dccf52b7b901.S @@ -26,14 +26,16 @@ func0000000000000000: # @func0000000000000000 ret func0000000000000007: # @func0000000000000007 addi a0, a0, -8 - srli a0, a0, 3 - sh1add a0, a0, a0 + srli a1, a0, 3 + srli a0, a0, 2 + add a0, a0, a1 slli a0, a0, 1 ret func000000000000000f: # @func000000000000000f addi a0, a0, -8 - srli a0, a0, 3 - sh1add a0, a0, a0 + srli a1, a0, 3 + srli a0, a0, 2 + add a0, a0, a1 slli a0, a0, 1 ret func0000000000000019: # @func0000000000000019 diff --git a/result/rvb23u64/4ee3cd6b897da7b5.S b/result/rvb23u64/4ee3cd6b897da7b5.S index f5ab1f0d309..e3c1826e88e 100644 --- a/result/rvb23u64/4ee3cd6b897da7b5.S +++ b/result/rvb23u64/4ee3cd6b897da7b5.S @@ -1,5 +1,5 @@ func0000000000000001: # @func0000000000000001 - zext.w a2, a2 - sh1add a2, a2, a2 + zext.w a3, a2 + sh1add.uw a2, a2, a3 sh3add a1, a2, a1 ret diff --git a/result/rvb23u64/4ef773aedd87f2b5.S b/result/rvb23u64/4ef773aedd87f2b5.S index 7a77b63dc7c..a920e2f8574 100644 --- a/result/rvb23u64/4ef773aedd87f2b5.S +++ b/result/rvb23u64/4ef773aedd87f2b5.S @@ -11,8 +11,9 @@ func0000000000000001: # @func0000000000000001 ret func0000000000000011: # @func0000000000000011 andi a2, a2, 1 - sh1add a2, a2, a2 - sh3add a1, a2, a1 + slli a3, a2, 4 + sh3add a2, a2, a3 + add a1, a1, a2 xor a0, a0, a1 seqz a0, a0 ret diff --git a/result/rvb23u64/4f79f4b3908dae0c.S b/result/rvb23u64/4f79f4b3908dae0c.S index 3a9efaecda9..dc19739968a 100644 --- a/result/rvb23u64/4f79f4b3908dae0c.S +++ b/result/rvb23u64/4f79f4b3908dae0c.S @@ -1,16 +1,15 @@ func0000000000000001: # @func0000000000000001 sh1add a0, a0, a0 - slli a1, a0, 1 slliw a0, a0, 1 - lui a2, 274878 - addiw a2, a2, -381 - mul a0, a0, a2 - srli a2, a0, 63 - srai a0, a0, 50 - add a0, a0, a2 + lui a1, 274878 + addiw a1, a1, -381 + mul a1, a1, a0 + srli a2, a1, 63 + srai a1, a1, 50 + add a1, a1, a2 lui a2, 244 addi a2, a2, 576 - mul a0, a0, a2 - subw a1, a1, a0 - fcvt.d.w fa0, a1 + mul a1, a1, a2 + subw a0, a0, a1 + fcvt.d.w fa0, a0 ret diff --git a/result/rvb23u64/4fe084d1140bbea2.S b/result/rvb23u64/4fe084d1140bbea2.S index 16b1ee51d37..e4c580f83df 100644 --- a/result/rvb23u64/4fe084d1140bbea2.S +++ b/result/rvb23u64/4fe084d1140bbea2.S @@ -5,7 +5,8 @@ func0000000000000046: # @func0000000000000046 addiw a2, a2, -1365 mul a1, a1, a2 srliw a2, a1, 31 - srli a1, a1, 17 + srai a1, a1, 16 + srli a1, a1, 1 add a1, a1, a2 sh1add a1, a1, a1 slli a1, a1, 2 diff --git a/result/rvb23u64/502216bcf0d264a1.S b/result/rvb23u64/502216bcf0d264a1.S index 1050f2c24d2..7ff29d475bb 100644 --- a/result/rvb23u64/502216bcf0d264a1.S +++ b/result/rvb23u64/502216bcf0d264a1.S @@ -2,7 +2,9 @@ func0000000000000007: # @func0000000000000007 srai a2, a2, 32 sh1add a2, a2, a2 sh2add a0, a2, a0 - neg a1, a1 - sh1add a1, a1, a1 - sh2add a0, a1, a0 + neg a2, a1 + slli a2, a2, 3 + slli a1, a1, 2 + sub a2, a2, a1 + add a0, a0, a2 ret diff --git a/result/rvb23u64/502f1d76c64f7e3e.S b/result/rvb23u64/502f1d76c64f7e3e.S index 479c4950732..44fb231a28f 100644 --- a/result/rvb23u64/502f1d76c64f7e3e.S +++ b/result/rvb23u64/502f1d76c64f7e3e.S @@ -2,6 +2,6 @@ func0000000000000030: # @func0000000000000030 zext.h a1, a1 mul a0, a0, a1 sh2add a0, a0, a0 - li a1, 15 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 15 ret diff --git a/result/rvb23u64/50c12a67fd103b4c.S b/result/rvb23u64/50c12a67fd103b4c.S index ef2099e2481..13b7b4152cf 100644 --- a/result/rvb23u64/50c12a67fd103b4c.S +++ b/result/rvb23u64/50c12a67fd103b4c.S @@ -4,7 +4,8 @@ func0000000000000018: # @func0000000000000018 addiw a4, a4, 1639 mul a3, a3, a4 srliw a4, a3, 31 - srli a3, a3, 18 + srai a3, a3, 16 + srli a3, a3, 2 add a3, a3, a4 sh2add a3, a3, a3 slli a3, a3, 1 diff --git a/result/rvb23u64/50e5304bac4a7bfe.S b/result/rvb23u64/50e5304bac4a7bfe.S index 1f8d4099b7c..7e1a7c764ba 100644 --- a/result/rvb23u64/50e5304bac4a7bfe.S +++ b/result/rvb23u64/50e5304bac4a7bfe.S @@ -6,9 +6,10 @@ func0000000000000008: # @func0000000000000008 ret func0000000000000007: # @func0000000000000007 sub a1, a1, a2 + srli a2, a1, 5 slli a1, a1, 27 srli a1, a1, 32 - sh3add a1, a1, a1 + sh3add.uw a1, a2, a1 sh2add a0, a1, a0 addi a0, a0, 12 ret diff --git a/result/rvb23u64/512458f348f4cc28.S b/result/rvb23u64/512458f348f4cc28.S index fd9df37be81..345e19889c7 100644 --- a/result/rvb23u64/512458f348f4cc28.S +++ b/result/rvb23u64/512458f348f4cc28.S @@ -1,7 +1,7 @@ func00000000000001d4: # @func00000000000001d4 sh1add a1, a1, a1 - li a2, 6 - sh1add a1, a1, a2 + slli a1, a1, 1 + addi a1, a1, 6 sext.w a0, a0 sltu a0, a1, a0 ret diff --git a/result/rvb23u64/51361c1efdb65228.S b/result/rvb23u64/51361c1efdb65228.S index 5a48e20d303..bab855a95ac 100644 --- a/result/rvb23u64/51361c1efdb65228.S +++ b/result/rvb23u64/51361c1efdb65228.S @@ -1,7 +1,8 @@ func000000000000000f: # @func000000000000000f slli a1, a1, 34 srli a1, a1, 62 + slli a2, a1, 1 + sh3add a1, a1, a2 andi a0, a0, 15 - sh2add a1, a1, a1 - sh1add a0, a1, a0 + add a0, a0, a1 ret diff --git a/result/rvb23u64/514392caf52b3328.S b/result/rvb23u64/514392caf52b3328.S index 92adeb8194c..b0c4377e154 100644 --- a/result/rvb23u64/514392caf52b3328.S +++ b/result/rvb23u64/514392caf52b3328.S @@ -15,8 +15,9 @@ func00000000000000b1: # @func00000000000000b1 seqz a0, a0 ret func0000000000000034: # @func0000000000000034 - slli.uw a1, a1, 1 - sh3add a1, a1, a1 + zext.w a2, a1 + sh3add.uw a1, a1, a2 + slli a1, a1, 1 zext.w a0, a0 sltu a0, a1, a0 ret diff --git a/result/rvb23u64/51567bb68f9c1a61.S b/result/rvb23u64/51567bb68f9c1a61.S index cdf3e0abb49..5948ba0fe2e 100644 --- a/result/rvb23u64/51567bb68f9c1a61.S +++ b/result/rvb23u64/51567bb68f9c1a61.S @@ -1,8 +1,8 @@ func000000000000001c: # @func000000000000001c sh3add a1, a0, a0 - slli a1, a1, 2 addi a0, a0, 38 zext.h a0, a0 - zext.h a1, a1 + slli a1, a1, 50 + srli a1, a1, 48 divuw a0, a1, a0 ret diff --git a/result/rvb23u64/520a24d71e44a323.S b/result/rvb23u64/520a24d71e44a323.S index e32c7445ae5..9757d4dc59e 100644 --- a/result/rvb23u64/520a24d71e44a323.S +++ b/result/rvb23u64/520a24d71e44a323.S @@ -5,8 +5,9 @@ func0000000000000003: # @func0000000000000003 ret func0000000000000002: # @func0000000000000002 sub a1, a1, a2 - srai a1, a1, 2 - sh1add a1, a1, a1 + srai a2, a1, 2 + srli a1, a1, 1 + add a1, a1, a2 sh1add a0, a1, a0 addi a0, a0, 4 ret diff --git a/result/rvb23u64/522ff107c865a929.S b/result/rvb23u64/522ff107c865a929.S index a0c16a54913..b4ff5c60a16 100644 --- a/result/rvb23u64/522ff107c865a929.S +++ b/result/rvb23u64/522ff107c865a929.S @@ -1,25 +1,22 @@ func0000000000000003: # @func0000000000000003 sh1add a0, a0, a0 - li a1, 48 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 48 ret func0000000000000000: # @func0000000000000000 sh1add a0, a0, a0 - li a1, 4 - sh2add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 2 + addiw a0, a0, 4 ret func0000000000000015: # @func0000000000000015 sh2add a0, a0, a0 - li a1, 2 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, 2 ret func0000000000000001: # @func0000000000000001 sh1add a0, a0, a0 - li a1, 12 - sh2add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 2 + addiw a0, a0, 12 ret func0000000000000002: # @func0000000000000002 sh1add a0, a0, a0 diff --git a/result/rvb23u64/52673e322d6403d7.S b/result/rvb23u64/52673e322d6403d7.S index fe88feb8888..a13487b6335 100644 --- a/result/rvb23u64/52673e322d6403d7.S +++ b/result/rvb23u64/52673e322d6403d7.S @@ -13,8 +13,8 @@ func0000000000000010: # @func0000000000000010 slli a0, a0, 6 ret func000000000000003f: # @func000000000000003f - li a2, 68 - mul a1, a1, a2 + slli a2, a1, 6 + sh2add a1, a1, a2 add a0, a0, a1 slliw a0, a0, 3 ret diff --git a/result/rvb23u64/52782c8b5c0c1d22.S b/result/rvb23u64/52782c8b5c0c1d22.S index 2898cc7001f..277f4a76cd2 100644 --- a/result/rvb23u64/52782c8b5c0c1d22.S +++ b/result/rvb23u64/52782c8b5c0c1d22.S @@ -15,10 +15,11 @@ func000000000000000f: # @func000000000000000f ret func0000000000000009: # @func0000000000000009 sext.w a2, a2 - neg a2, a2 - sh2add a2, a2, a2 - sh3add a1, a2, a1 + neg a3, a2 + slli a2, a2, 3 + sub a1, a1, a2 sh2add a0, a0, a0 + sh2add a0, a3, a0 sh3add a0, a0, a1 addi a0, a0, 4 ret diff --git a/result/rvb23u64/532ed40e4b674157.S b/result/rvb23u64/532ed40e4b674157.S index 4ad4dc97a4c..2e28f64166d 100644 --- a/result/rvb23u64/532ed40e4b674157.S +++ b/result/rvb23u64/532ed40e4b674157.S @@ -3,8 +3,8 @@ func000000000000000e: # @func000000000000000e maxu a0, a0, a1 li a1, 4 maxu a0, a0, a1 - li a1, 136 - mul a0, a0, a1 + slli a1, a0, 7 + sh3add a0, a0, a1 ret func000000000000000c: # @func000000000000000c add a1, a1, a2 diff --git a/result/rvb23u64/53808bd689a33207.S b/result/rvb23u64/53808bd689a33207.S index 3520367b669..21b4a1e1be2 100644 --- a/result/rvb23u64/53808bd689a33207.S +++ b/result/rvb23u64/53808bd689a33207.S @@ -1,8 +1,8 @@ func0000000000000003: # @func0000000000000003 andi a1, a1, 1 czero.nez a1, a2, a1 - zext.w a0, a0 - sh1add a0, a0, a0 + zext.w a2, a0 + sh1add.uw a0, a0, a2 sh2add a0, a0, a1 addi a0, a0, 32 ret diff --git a/result/rvb23u64/538e7ac1f162497b.S b/result/rvb23u64/538e7ac1f162497b.S index 6ff9cb818d8..59af822733c 100644 --- a/result/rvb23u64/538e7ac1f162497b.S +++ b/result/rvb23u64/538e7ac1f162497b.S @@ -5,9 +5,11 @@ func00000000000000a1: # @func00000000000000a1 slli a4, a3, 32 add a3, a3, a4 mul a2, a2, a3 - neg a2, a2 - sh2add a2, a2, a2 - sh3add a1, a2, a1 + neg a3, a2 + slli a2, a2, 3 + slli a3, a3, 5 + sub a1, a1, a2 + add a1, a1, a3 xor a0, a0, a1 seqz a0, a0 ret @@ -18,9 +20,11 @@ func00000000000000b1: # @func00000000000000b1 slli a4, a3, 32 add a3, a3, a4 mul a2, a2, a3 - neg a2, a2 - sh2add a2, a2, a2 - sh3add a1, a2, a1 + neg a3, a2 + slli a2, a2, 3 + slli a3, a3, 5 + sub a1, a1, a2 + add a1, a1, a3 xor a0, a0, a1 seqz a0, a0 ret diff --git a/result/rvb23u64/53e380e382622b4e.S b/result/rvb23u64/53e380e382622b4e.S index eb02be3c92c..26fbd28518f 100644 --- a/result/rvb23u64/53e380e382622b4e.S +++ b/result/rvb23u64/53e380e382622b4e.S @@ -1,7 +1,7 @@ func0000000000000000: # @func0000000000000000 sh1add a0, a0, a0 - li a1, -12 - sh2add a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, -12 lui a1, 699051 addiw a1, a1, -1365 slli a2, a1, 32 @@ -14,8 +14,8 @@ func0000000000000000: # @func0000000000000000 ret func0000000000000001: # @func0000000000000001 sh1add a0, a0, a0 - li a1, -24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, -24 lui a1, 699051 addiw a1, a1, -1365 slli a2, a1, 32 diff --git a/result/rvb23u64/55a511194d2c8150.S b/result/rvb23u64/55a511194d2c8150.S index 47891d03e88..1fd6ea8b232 100644 --- a/result/rvb23u64/55a511194d2c8150.S +++ b/result/rvb23u64/55a511194d2c8150.S @@ -1,14 +1,14 @@ func000000000000000f: # @func000000000000000f slli a1, a0, 56 srli a1, a1, 60 - andi a0, a0, 15 sh2add a1, a1, a1 + andi a0, a0, 15 sh1add a0, a1, a0 ret func000000000000002f: # @func000000000000002f slli a1, a0, 48 srli a1, a1, 52 - andi a0, a0, 15 sh2add a1, a1, a1 + andi a0, a0, 15 sh1add a0, a1, a0 ret diff --git a/result/rvb23u64/55b346f90117d416.S b/result/rvb23u64/55b346f90117d416.S index afff5e2b636..3051ea705f0 100644 --- a/result/rvb23u64/55b346f90117d416.S +++ b/result/rvb23u64/55b346f90117d416.S @@ -9,14 +9,14 @@ func000000000000001e: # @func000000000000001e addi a0, a0, 2 ret func000000000000001b: # @func000000000000001b - li a2, 520 - mul a1, a1, a2 + slli a2, a1, 9 + sh3add a1, a1, a2 add a0, a0, a1 addi a0, a0, -520 ret func000000000000000b: # @func000000000000000b - li a2, 520 - mul a1, a1, a2 + slli a2, a1, 9 + sh3add a1, a1, a2 add a0, a0, a1 addi a0, a0, -520 ret diff --git a/result/rvb23u64/55e11f93c5ac7f87.S b/result/rvb23u64/55e11f93c5ac7f87.S index 81d671f65bb..73bedf81ab2 100644 --- a/result/rvb23u64/55e11f93c5ac7f87.S +++ b/result/rvb23u64/55e11f93c5ac7f87.S @@ -1,7 +1,7 @@ func000000000000003f: # @func000000000000003f sh2add a1, a1, a1 - li a2, 32 - sh1add a1, a1, a2 + slli a1, a1, 1 + addi a1, a1, 32 andi a1, a1, 254 li a2, 100 mul a0, a0, a2 diff --git a/result/rvb23u64/567c3663fecdd1f0.S b/result/rvb23u64/567c3663fecdd1f0.S index cd93bc9c9b4..d089370e6b2 100644 --- a/result/rvb23u64/567c3663fecdd1f0.S +++ b/result/rvb23u64/567c3663fecdd1f0.S @@ -1,5 +1,5 @@ func0000000000000028: # @func0000000000000028 - sub a1, a1, a2 + subw a1, a1, a2 sh2add a1, a1, a1 slli a1, a1, 1 divw a0, a1, a0 diff --git a/result/rvb23u64/56c5b0e58aaf1885.S b/result/rvb23u64/56c5b0e58aaf1885.S index 312dea5f49e..9c192e64d0b 100644 --- a/result/rvb23u64/56c5b0e58aaf1885.S +++ b/result/rvb23u64/56c5b0e58aaf1885.S @@ -1,13 +1,13 @@ func000000000000001e: # @func000000000000001e sh2add a1, a1, a1 - li a2, 10 - sh1add a1, a1, a2 + slli a1, a1, 1 + addi a1, a1, 10 maxu a0, a1, a0 ret func0000000000000014: # @func0000000000000014 sh1add a1, a1, a1 - li a2, 24 - sh3add a1, a1, a2 + slli a1, a1, 3 + addi a1, a1, 24 maxu a0, a0, a1 ret func0000000000000000: # @func0000000000000000 diff --git a/result/rvb23u64/571c26878098bbb1.S b/result/rvb23u64/571c26878098bbb1.S index 50044236930..579b53a0d74 100644 --- a/result/rvb23u64/571c26878098bbb1.S +++ b/result/rvb23u64/571c26878098bbb1.S @@ -1,13 +1,15 @@ func0000000000000001: # @func0000000000000001 - srli a2, a2, 1 - sh1add a2, a2, a2 + srli a3, a2, 1 + andi a2, a2, -2 + add a2, a2, a3 sh2add a1, a2, a1 xor a0, a0, a1 seqz a0, a0 ret func0000000000000071: # @func0000000000000071 - srli a2, a2, 1 - sh1add a2, a2, a2 + srli a3, a2, 1 + andi a2, a2, -2 + add a2, a2, a3 sh3add a1, a2, a1 xor a0, a0, a1 seqz a0, a0 diff --git a/result/rvb23u64/573bf58351bf733c.S b/result/rvb23u64/573bf58351bf733c.S index 2d8a55f5f2a..0fb4ecddf06 100644 --- a/result/rvb23u64/573bf58351bf733c.S +++ b/result/rvb23u64/573bf58351bf733c.S @@ -1,7 +1,8 @@ func0000000000000003: # @func0000000000000003 mul a0, a0, a1 - slli.uw a0, a0, 2 - sh3add a0, a0, a0 + zext.w a1, a0 + sh3add.uw a0, a0, a1 + slli a0, a0, 2 ret func000000000000000f: # @func000000000000000f mulw a0, a0, a1 diff --git a/result/rvb23u64/574a761ab2645250.S b/result/rvb23u64/574a761ab2645250.S index e15756e4141..2333186a5a6 100644 --- a/result/rvb23u64/574a761ab2645250.S +++ b/result/rvb23u64/574a761ab2645250.S @@ -24,8 +24,9 @@ func0000000000000000: # @func0000000000000000 func0000000000000004: # @func0000000000000004 add a1, a1, a2 srliw a2, a1, 31 + addw a1, a1, a2 + srli a2, a1, 1 + andi a1, a1, -2 add a1, a1, a2 - sraiw a1, a1, 1 - sh1add a1, a1, a1 sh2add a0, a1, a0 ret diff --git a/result/rvb23u64/57fe207e20c5e1f2.S b/result/rvb23u64/57fe207e20c5e1f2.S index 4529ea4e28a..00fd8332950 100644 --- a/result/rvb23u64/57fe207e20c5e1f2.S +++ b/result/rvb23u64/57fe207e20c5e1f2.S @@ -1,8 +1,8 @@ func0000000000000037: # @func0000000000000037 sext.w a0, a0 sh1add a0, a0, a0 - li a1, -24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, -24 lui a1, 699051 addiw a1, a1, -1365 slli a2, a1, 32 @@ -15,8 +15,8 @@ func0000000000000037: # @func0000000000000037 func0000000000000017: # @func0000000000000017 sext.w a0, a0 sh1add a0, a0, a0 - li a1, -24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, -24 lui a1, 699051 addiw a1, a1, -1365 slli a2, a1, 32 diff --git a/result/rvb23u64/5908150c181f2ba0.S b/result/rvb23u64/5908150c181f2ba0.S index 9a49372d9e3..e0664046e87 100644 --- a/result/rvb23u64/5908150c181f2ba0.S +++ b/result/rvb23u64/5908150c181f2ba0.S @@ -9,8 +9,8 @@ func0000000000000003: # @func0000000000000003 ret func0000000000000000: # @func0000000000000000 sext.w a2, a2 - li a3, 260 - mul a1, a1, a3 + slli a3, a1, 8 + sh2add a1, a1, a3 add a0, a0, a1 sh2add a0, a2, a0 ret diff --git a/result/rvb23u64/5992bc616e7276b6.S b/result/rvb23u64/5992bc616e7276b6.S index c0e40a65337..046546ea5b4 100644 --- a/result/rvb23u64/5992bc616e7276b6.S +++ b/result/rvb23u64/5992bc616e7276b6.S @@ -17,7 +17,6 @@ func0000000000000151: # @func0000000000000151 add a0, a0, a1 subw a0, a0, a2 sh1add a0, a0, a0 - li a1, 48 - sh2add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 2 + addiw a0, a0, 48 ret diff --git a/result/rvb23u64/5a06f87a73b57276.S b/result/rvb23u64/5a06f87a73b57276.S index b0eafdd7c22..701e4f72d0d 100644 --- a/result/rvb23u64/5a06f87a73b57276.S +++ b/result/rvb23u64/5a06f87a73b57276.S @@ -1,6 +1,6 @@ func000000000000000c: # @func000000000000000c - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh3add a0, a1, a0 ret func000000000000001f: # @func000000000000001f @@ -13,10 +13,10 @@ func000000000000000f: # @func000000000000000f li a3, 10 mulhu a3, a2, a3 sh2add a2, a2, a2 - slli a2, a2, 1 + slli a4, a2, 1 add a1, a1, a3 - add a0, a0, a2 - sltu a2, a0, a2 + sh1add a0, a2, a0 + sltu a2, a0, a4 add a1, a1, a2 ret func0000000000000004: # @func0000000000000004 @@ -81,8 +81,8 @@ func0000000000000014: # @func0000000000000014 sub a0, a0, a1 ret func000000000000000e: # @func000000000000000e - zext.w a1, a1 - sh2add a1, a1, a1 + zext.w a2, a1 + sh2add.uw a1, a1, a2 sh3add a0, a1, a0 ret func0000000000000008: # @func0000000000000008 diff --git a/result/rvb23u64/5a6c3fa9e03102c1.S b/result/rvb23u64/5a6c3fa9e03102c1.S index 043d3820599..629dfdb2a27 100644 --- a/result/rvb23u64/5a6c3fa9e03102c1.S +++ b/result/rvb23u64/5a6c3fa9e03102c1.S @@ -99,9 +99,9 @@ func000000000000000c: # @func000000000000000c ret func000000000000000e: # @func000000000000000e sh1add a1, a1, a1 - slli a1, a1, 1 sh1add a0, a0, a0 - sh2add a0, a0, a1 + sh1add a0, a0, a1 + slli a0, a0, 1 ret func000000000000001f: # @func000000000000001f lui a2, 2 diff --git a/result/rvb23u64/5a89cb88cb6c8f37.S b/result/rvb23u64/5a89cb88cb6c8f37.S index da6f327216d..681360523ba 100644 --- a/result/rvb23u64/5a89cb88cb6c8f37.S +++ b/result/rvb23u64/5a89cb88cb6c8f37.S @@ -18,12 +18,12 @@ func0000000000000004: # @func0000000000000004 srli a3, a1, 63 srai a1, a1, 34 add a1, a1, a3 + sh2add a1, a1, a1 sext.w a0, a0 mul a0, a0, a2 srli a2, a0, 63 srai a0, a0, 34 add a0, a0, a2 - sh2add a1, a1, a1 sh1add a0, a1, a0 sext.w a0, a0 ret diff --git a/result/rvb23u64/5afbe0b6c455138c.S b/result/rvb23u64/5afbe0b6c455138c.S index 0f487582f0d..aeaee6f90c1 100644 --- a/result/rvb23u64/5afbe0b6c455138c.S +++ b/result/rvb23u64/5afbe0b6c455138c.S @@ -1,7 +1,6 @@ func0000000000000000: # @func0000000000000000 divw a0, a0, a1 sh2add a0, a0, a0 - li a1, 16 - sh3add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 3 + addiw a0, a0, 16 ret diff --git a/result/rvb23u64/5c383a2a4a85d437.S b/result/rvb23u64/5c383a2a4a85d437.S index e6dde195bf2..4bc7b3f2d20 100644 --- a/result/rvb23u64/5c383a2a4a85d437.S +++ b/result/rvb23u64/5c383a2a4a85d437.S @@ -14,7 +14,7 @@ func0000000000000011: # @func0000000000000011 mulw a0, a0, a1 ret func0000000000000001: # @func0000000000000001 - sub a0, a0, a1 + subw a0, a0, a1 sh1add a0, a0, a0 slliw a0, a0, 1 ret diff --git a/result/rvb23u64/5c8d61ba90973916.S b/result/rvb23u64/5c8d61ba90973916.S index 012da4d40d5..48d0ee9016e 100644 --- a/result/rvb23u64/5c8d61ba90973916.S +++ b/result/rvb23u64/5c8d61ba90973916.S @@ -15,9 +15,10 @@ func000000000000007f: # @func000000000000007f ret func000000000000004f: # @func000000000000004f addi a1, a1, -48 - slli.uw a0, a0, 1 - sh2add a0, a0, a0 - add.uw a0, a1, a0 + zext.w a1, a1 + zext.w a2, a0 + sh2add.uw a0, a0, a2 + sh1add a0, a0, a1 ret func000000000000003f: # @func000000000000003f addi a1, a1, -48 @@ -28,8 +29,8 @@ func000000000000003f: # @func000000000000003f ret func000000000000005f: # @func000000000000005f addiw a1, a1, -48 - zext.w a0, a0 - sh2add a0, a0, a0 + zext.w a2, a0 + sh2add.uw a0, a0, a2 sh1add a0, a0, a1 ret func000000000000001f: # @func000000000000001f diff --git a/result/rvb23u64/5cc49daad8244459.S b/result/rvb23u64/5cc49daad8244459.S index 17cf01b9c2d..5972865805a 100644 --- a/result/rvb23u64/5cc49daad8244459.S +++ b/result/rvb23u64/5cc49daad8244459.S @@ -1,8 +1,8 @@ func000000000000005d: # @func000000000000005d andi a0, a0, 255 sh2add a0, a0, a0 - li a1, -528 - sh1add a0, a0, a1 + slli a0, a0, 1 + addi a0, a0, -528 ret func0000000000000015: # @func0000000000000015 andi a0, a0, 255 @@ -13,6 +13,6 @@ func0000000000000015: # @func0000000000000015 func000000000000001d: # @func000000000000001d zext.h a0, a0 sh2add a0, a0, a0 - li a1, -528 - sh1add a0, a0, a1 + slli a0, a0, 1 + addi a0, a0, -528 ret diff --git a/result/rvb23u64/5cdbb3e7a0f8e531.S b/result/rvb23u64/5cdbb3e7a0f8e531.S index 9ce597409c7..5b1d5722ac6 100644 --- a/result/rvb23u64/5cdbb3e7a0f8e531.S +++ b/result/rvb23u64/5cdbb3e7a0f8e531.S @@ -1,16 +1,18 @@ func00000000000000f8: # @func00000000000000f8 - slli.uw a1, a1, 1 - sh2add a1, a1, a1 + zext.w a2, a1 + sh2add.uw a1, a1, a2 srliw a0, a0, 1 - sh1add a0, a0, a1 + slli a0, a0, 1 + sh1add a0, a1, a0 srli a0, a0, 31 snez a0, a0 ret func00000000000000f4: # @func00000000000000f4 - slli.uw a1, a1, 1 - sh2add a1, a1, a1 + zext.w a2, a1 + sh2add.uw a1, a1, a2 srliw a0, a0, 1 - sh1add a0, a0, a1 + slli a0, a0, 1 + sh1add a0, a1, a0 srli a0, a0, 31 seqz a0, a0 ret diff --git a/result/rvb23u64/5d3a7732e22d122d.S b/result/rvb23u64/5d3a7732e22d122d.S index 7e2eb696615..8c8cde40ec2 100644 --- a/result/rvb23u64/5d3a7732e22d122d.S +++ b/result/rvb23u64/5d3a7732e22d122d.S @@ -1,8 +1,8 @@ func0000000000000009: # @func0000000000000009 sh3add a1, a1, a1 - slli a1, a1, 2 zext.h a0, a0 - zext.h a1, a1 + slli a1, a1, 50 + srli a1, a1, 48 divuw a0, a1, a0 ret func0000000000000008: # @func0000000000000008 @@ -14,8 +14,8 @@ func0000000000000008: # @func0000000000000008 ret func0000000000000000: # @func0000000000000000 sh2add a1, a1, a1 - slli a1, a1, 1 zext.h a0, a0 - zext.h a1, a1 + slli a1, a1, 49 + srli a1, a1, 48 divuw a0, a1, a0 ret diff --git a/result/rvb23u64/5d44e48891130b47.S b/result/rvb23u64/5d44e48891130b47.S index 9f5d1d34555..77c6815f0f1 100644 --- a/result/rvb23u64/5d44e48891130b47.S +++ b/result/rvb23u64/5d44e48891130b47.S @@ -1,8 +1,9 @@ func0000000000000003: # @func0000000000000003 not a1, a1 add a0, a0, a1 - slli.uw a0, a0, 3 - sh2add a0, a0, a0 + zext.w a1, a0 + sh2add.uw a0, a0, a1 + slli a0, a0, 3 ret func0000000000000001: # @func0000000000000001 not a1, a1 diff --git a/result/rvb23u64/5dc9186e22cad022.S b/result/rvb23u64/5dc9186e22cad022.S index 5a1cb42952d..7d8369de42d 100644 --- a/result/rvb23u64/5dc9186e22cad022.S +++ b/result/rvb23u64/5dc9186e22cad022.S @@ -27,6 +27,7 @@ func000000000000000e: # @func000000000000000e func000000000000000b: # @func000000000000000b addi a1, a1, 1 andi a1, a1, 1 - sh1add a1, a1, a1 - sh3add a0, a1, a0 + slli a2, a1, 4 + sh3add a1, a1, a2 + add a0, a0, a1 ret diff --git a/result/rvb23u64/5dd43f3cd0501113.S b/result/rvb23u64/5dd43f3cd0501113.S index 6432c8dc52a..652dca06bcb 100644 --- a/result/rvb23u64/5dd43f3cd0501113.S +++ b/result/rvb23u64/5dd43f3cd0501113.S @@ -1,6 +1,6 @@ func0000000000000007: # @func0000000000000007 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a3, a1 + sh1add.uw a1, a1, a3 sh2add a1, a1, a2 sh2add a0, a0, a1 addi a0, a0, 28 diff --git a/result/rvb23u64/5e146211dc18454c.S b/result/rvb23u64/5e146211dc18454c.S index 13afbd53a22..e91d0bc9e3f 100644 --- a/result/rvb23u64/5e146211dc18454c.S +++ b/result/rvb23u64/5e146211dc18454c.S @@ -16,7 +16,8 @@ func0000000000000006: # @func0000000000000006 li a2, 103 mul a1, a1, a2 bexti a2, a1, 15 - srli a1, a1, 10 + srai a1, a1, 8 + srli a1, a1, 2 add a1, a1, a2 sh2add a1, a1, a1 slli a1, a1, 1 diff --git a/result/rvb23u64/5e3136e4d28437e1.S b/result/rvb23u64/5e3136e4d28437e1.S index 13ac633e7f6..d9a5b1df17f 100644 --- a/result/rvb23u64/5e3136e4d28437e1.S +++ b/result/rvb23u64/5e3136e4d28437e1.S @@ -1,8 +1,8 @@ func0000000000000075: # @func0000000000000075 andi a2, a2, 255 + sh2add a2, a2, a2 add a0, a0, a1 - sh2add a1, a2, a2 - sh1add a0, a1, a0 + sh1add a0, a2, a0 lui a1, 1048164 addi a1, a1, 382 addw a0, a0, a1 diff --git a/result/rvb23u64/5e8c6fb6d9dc4196.S b/result/rvb23u64/5e8c6fb6d9dc4196.S index bff2046c570..50a07f0e231 100644 --- a/result/rvb23u64/5e8c6fb6d9dc4196.S +++ b/result/rvb23u64/5e8c6fb6d9dc4196.S @@ -9,8 +9,8 @@ func0000000000000007: # @func0000000000000007 addi a0, a0, 232 ret func0000000000000004: # @func0000000000000004 - li a3, 260 - mul a0, a0, a3 + slli a3, a0, 8 + sh2add a0, a0, a3 add a0, a0, a2 sext.w a1, a1 sh2add a0, a1, a0 diff --git a/result/rvb23u64/5ea1b7b9f31c1a21.S b/result/rvb23u64/5ea1b7b9f31c1a21.S index 189341f3316..edb03b7e3d3 100644 --- a/result/rvb23u64/5ea1b7b9f31c1a21.S +++ b/result/rvb23u64/5ea1b7b9f31c1a21.S @@ -18,9 +18,8 @@ func0000000000000005: # @func0000000000000005 ret func0000000000000006: # @func0000000000000006 sub a0, a0, a1 - srai a0, a0, 5 - li a1, 136 - mul a0, a0, a1 + srai a1, a0, 2 + sh2add a0, a0, a1 ret func0000000000000001: # @func0000000000000001 sub a0, a0, a1 diff --git a/result/rvb23u64/5ee27e4a133f5451.S b/result/rvb23u64/5ee27e4a133f5451.S index 8d349d12422..edc79d747da 100644 --- a/result/rvb23u64/5ee27e4a133f5451.S +++ b/result/rvb23u64/5ee27e4a133f5451.S @@ -5,9 +5,11 @@ func0000000000000000: # @func0000000000000000 sh2add a0, a1, a0 ret func000000000000000c: # @func000000000000000c - neg a2, a2 - sh1add a2, a2, a2 - sh3add a1, a2, a1 + neg a3, a2 + slli a3, a3, 4 + slli a2, a2, 3 + sub a1, a1, a2 + add a1, a1, a3 sub a0, a0, a1 ret func0000000000000004: # @func0000000000000004 diff --git a/result/rvb23u64/5ee77ae4798f630f.S b/result/rvb23u64/5ee77ae4798f630f.S index 77529b6ac01..d4b64282fe9 100644 --- a/result/rvb23u64/5ee77ae4798f630f.S +++ b/result/rvb23u64/5ee77ae4798f630f.S @@ -1,6 +1,6 @@ func0000000000000000: # @func0000000000000000 - sh3add a1, a1, a1 sh2add a2, a2, a2 + sh3add a1, a1, a1 sh2add a1, a2, a1 sh3add a0, a0, a1 ret diff --git a/result/rvb23u64/5ef8ddbe125c0f76.S b/result/rvb23u64/5ef8ddbe125c0f76.S index 8a241f9f324..d051bad3965 100644 --- a/result/rvb23u64/5ef8ddbe125c0f76.S +++ b/result/rvb23u64/5ef8ddbe125c0f76.S @@ -4,6 +4,7 @@ func0000000000000031: # @func0000000000000031 ret func0000000000000005: # @func0000000000000005 seqz a1, a1 - sh1add a1, a1, a1 - sh2add a0, a1, a0 + slli a2, a1, 2 + sh3add a1, a1, a2 + add a0, a0, a1 ret diff --git a/result/rvb23u64/5fadbf3ac167d7f1.S b/result/rvb23u64/5fadbf3ac167d7f1.S index fefd944629c..92df67de88c 100644 --- a/result/rvb23u64/5fadbf3ac167d7f1.S +++ b/result/rvb23u64/5fadbf3ac167d7f1.S @@ -1,6 +1,6 @@ func0000000000000001: # @func0000000000000001 - zext.w a2, a2 - sh1add a2, a2, a2 + zext.w a3, a2 + sh1add.uw a2, a2, a3 sh3add a1, a2, a1 sub a1, a1, a0 srai a1, a1, 3 @@ -11,8 +11,8 @@ func0000000000000001: # @func0000000000000001 mul a0, a0, a1 ret func0000000000000009: # @func0000000000000009 - zext.w a2, a2 - sh1add a2, a2, a2 + zext.w a3, a2 + sh1add.uw a2, a2, a3 sh3add a1, a2, a1 sub a1, a1, a0 srai a1, a1, 3 diff --git a/result/rvb23u64/600dc843ef3b52b1.S b/result/rvb23u64/600dc843ef3b52b1.S index 5702b211ec2..6ac9e7fe0ff 100644 --- a/result/rvb23u64/600dc843ef3b52b1.S +++ b/result/rvb23u64/600dc843ef3b52b1.S @@ -20,14 +20,14 @@ func0000000000000004: # @func0000000000000004 add a0, a0, a1 ret func0000000000000001: # @func0000000000000001 - zext.w a1, a1 - sh3add a1, a1, a1 + zext.w a2, a1 + sh3add.uw a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 248 ret func0000000000000006: # @func0000000000000006 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 30 ret diff --git a/result/rvb23u64/607af4d08be22bc9.S b/result/rvb23u64/607af4d08be22bc9.S index cf74510d8ef..2778aabfef5 100644 --- a/result/rvb23u64/607af4d08be22bc9.S +++ b/result/rvb23u64/607af4d08be22bc9.S @@ -1,6 +1,6 @@ func0000000000000034: # @func0000000000000034 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh2add a0, a1, a0 addi a0, a0, -12 ret @@ -12,8 +12,8 @@ func000000000000003d: # @func000000000000003d addiw a0, a0, 120 ret func000000000000003f: # @func000000000000003f - zext.w a1, a1 - sh2add a1, a1, a1 + zext.w a2, a1 + sh2add.uw a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 52 ret diff --git a/result/rvb23u64/60ce3fcf565eae24.S b/result/rvb23u64/60ce3fcf565eae24.S index 66ef2d99b67..8cc22308f30 100644 --- a/result/rvb23u64/60ce3fcf565eae24.S +++ b/result/rvb23u64/60ce3fcf565eae24.S @@ -46,8 +46,9 @@ func0000000000000001: # @func0000000000000001 ret func0000000000000013: # @func0000000000000013 addi a0, a0, 2 - slli.uw a0, a0, 3 - sh2add a0, a0, a0 + zext.w a1, a0 + sh2add.uw a0, a0, a1 + slli a0, a0, 3 ret .LCPI8_0: .quad -4265267296055464877 # 0xc4ceb9fe1a85ec53 diff --git a/result/rvb23u64/60d498a74025ac75.S b/result/rvb23u64/60d498a74025ac75.S index f1f04677af8..61078860257 100644 --- a/result/rvb23u64/60d498a74025ac75.S +++ b/result/rvb23u64/60d498a74025ac75.S @@ -1,7 +1,8 @@ func0000000000000040: # @func0000000000000040 sub a1, a1, a2 - srli a1, a1, 4 - sh2add a1, a1, a1 + srli a2, a1, 4 + srli a1, a1, 2 + add a1, a1, a2 sh2add a0, a1, a0 sext.w a0, a0 ret diff --git a/result/rvb23u64/611593d063801b4d.S b/result/rvb23u64/611593d063801b4d.S index 1761dd8ae5e..f704e260599 100644 --- a/result/rvb23u64/611593d063801b4d.S +++ b/result/rvb23u64/611593d063801b4d.S @@ -21,8 +21,8 @@ func0000000000000004: # @func0000000000000004 func0000000000000001: # @func0000000000000001 sext.w a0, a0 sh1add a1, a1, a1 - slli a1, a1, 2 - srliw a1, a1, 3 + slli a1, a1, 34 + srli a1, a1, 35 xor a0, a0, a1 seqz a0, a0 ret diff --git a/result/rvb23u64/614febf28f7f209d.S b/result/rvb23u64/614febf28f7f209d.S index f4f085d11c6..378688b6407 100644 --- a/result/rvb23u64/614febf28f7f209d.S +++ b/result/rvb23u64/614febf28f7f209d.S @@ -1,6 +1,6 @@ func0000000000000000: # @func0000000000000000 - andi a0, a0, -64 sh2add a1, a1, a1 + andi a0, a0, -64 sh2add a0, a1, a0 addiw a0, a0, 63 ret diff --git a/result/rvb23u64/61526d87807f4757.S b/result/rvb23u64/61526d87807f4757.S index 21eae404c9e..4865d5578a6 100644 --- a/result/rvb23u64/61526d87807f4757.S +++ b/result/rvb23u64/61526d87807f4757.S @@ -1,7 +1,7 @@ func0000000000000000: # @func0000000000000000 sub a1, a1, a2 sh2add a0, a0, a0 - slli a0, a0, 1 - mul a1, a1, a0 - add a0, a0, a1 + slli a2, a0, 1 + mul a1, a1, a2 + sh1add a0, a0, a1 ret diff --git a/result/rvb23u64/618427861fee72cb.S b/result/rvb23u64/618427861fee72cb.S index 0410558032b..ef949159afe 100644 --- a/result/rvb23u64/618427861fee72cb.S +++ b/result/rvb23u64/618427861fee72cb.S @@ -1,9 +1,11 @@ func0000000000000063: # @func0000000000000063 ctz a2, a2 - neg a1, a1 - sub a1, a1, a2 - sh1add a1, a1, a1 - sh3add a0, a1, a0 + add a1, a1, a2 + neg a2, a1 + slli a1, a1, 3 + slli a2, a2, 4 + sub a0, a0, a1 + add a0, a0, a2 ret func0000000000000062: # @func0000000000000062 ctz a2, a2 diff --git a/result/rvb23u64/61e7bfd2078b0c38.S b/result/rvb23u64/61e7bfd2078b0c38.S index f9053496d18..9eb87b462c1 100644 --- a/result/rvb23u64/61e7bfd2078b0c38.S +++ b/result/rvb23u64/61e7bfd2078b0c38.S @@ -15,7 +15,8 @@ func0000000000000007: # @func0000000000000007 func0000000000000017: # @func0000000000000017 addi a1, a1, 1 andi a1, a1, 1 - sh1add a1, a1, a1 - sh3add a0, a1, a0 + slli a2, a1, 4 + sh3add a1, a1, a2 + add a0, a0, a1 addi a0, a0, 12 ret diff --git a/result/rvb23u64/6258a92b1713ea0d.S b/result/rvb23u64/6258a92b1713ea0d.S index 5a6dae6ed55..f9093098df1 100644 --- a/result/rvb23u64/6258a92b1713ea0d.S +++ b/result/rvb23u64/6258a92b1713ea0d.S @@ -6,8 +6,8 @@ func0000000000000003: # @func0000000000000003 func0000000000000001: # @func0000000000000001 subw a2, a2, a1 addi a2, a2, 1 - zext.w a2, a2 - sh1add a1, a2, a2 + zext.w a1, a2 + sh1add.uw a1, a2, a1 sh2add a0, a1, a0 ret func0000000000000002: # @func0000000000000002 diff --git a/result/rvb23u64/628d24b6c6727cba.S b/result/rvb23u64/628d24b6c6727cba.S index 03bb3cc1f03..cc2bf0b64f3 100644 --- a/result/rvb23u64/628d24b6c6727cba.S +++ b/result/rvb23u64/628d24b6c6727cba.S @@ -1,12 +1,14 @@ func0000000000000003: # @func0000000000000003 sh1add a0, a0, a0 - slli.uw a0, a0, 2 - sh1add a0, a0, a0 + zext.w a1, a0 + sh1add.uw a0, a0, a1 + slli a0, a0, 2 ret func000000000000000b: # @func000000000000000b sh1add a0, a0, a0 - slli.uw a0, a0, 2 - sh1add a0, a0, a0 + zext.w a1, a0 + sh1add.uw a0, a0, a1 + slli a0, a0, 2 ret func0000000000000012: # @func0000000000000012 slli a1, a0, 16 diff --git a/result/rvb23u64/62bd457e11be2f80.S b/result/rvb23u64/62bd457e11be2f80.S index 99d76c55d5b..4cf3f0d9948 100644 --- a/result/rvb23u64/62bd457e11be2f80.S +++ b/result/rvb23u64/62bd457e11be2f80.S @@ -1,8 +1,9 @@ func0000000000000007: # @func0000000000000007 - neg a2, a2 - sh1add a2, a2, a2 - sh2add a1, a2, a1 + neg a3, a2 + slli a2, a2, 2 + sub a1, a1, a2 sh1add a0, a0, a0 + sh1add a0, a3, a0 sh2add a0, a0, a1 andi a0, a0, -2 ret diff --git a/result/rvb23u64/62cf1b672c4a8c9c.S b/result/rvb23u64/62cf1b672c4a8c9c.S index df697aac8a1..75478a73a58 100644 --- a/result/rvb23u64/62cf1b672c4a8c9c.S +++ b/result/rvb23u64/62cf1b672c4a8c9c.S @@ -1,6 +1,6 @@ func0000000000000030: # @func0000000000000030 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 24 ret @@ -12,8 +12,8 @@ func000000000000003f: # @func000000000000003f addi a0, a0, 64 ret func0000000000000035: # @func0000000000000035 - zext.w a1, a1 - sh3add a1, a1, a1 + zext.w a2, a1 + sh3add.uw a1, a1, a2 sh1add a0, a1, a0 addi a0, a0, 5 ret diff --git a/result/rvb23u64/62e528756aaa8548.S b/result/rvb23u64/62e528756aaa8548.S index cd4867df416..d990de5352b 100644 --- a/result/rvb23u64/62e528756aaa8548.S +++ b/result/rvb23u64/62e528756aaa8548.S @@ -14,9 +14,8 @@ func00000000000000c0: # @func00000000000000c0 ret func0000000000000001: # @func0000000000000001 sh1add a1, a1, a1 - slli a1, a1, 3 - sh2add a1, a2, a1 - add a0, a0, a1 + sh1add a1, a1, a2 + sh2add a0, a1, a0 addiw a0, a0, 832 ret func0000000000000330: # @func0000000000000330 @@ -39,8 +38,7 @@ func0000000000000000: # @func0000000000000000 ret func00000000000003ff: # @func00000000000003ff sh1add a1, a1, a1 - slli a1, a1, 2 - sh3add a1, a2, a1 - add a0, a0, a1 + sh1add a1, a2, a1 + sh2add a0, a1, a0 addi a0, a0, 120 ret diff --git a/result/rvb23u64/6330f2c4561385df.S b/result/rvb23u64/6330f2c4561385df.S index 9a5371033b4..51efed1ddde 100644 --- a/result/rvb23u64/6330f2c4561385df.S +++ b/result/rvb23u64/6330f2c4561385df.S @@ -36,8 +36,8 @@ func00000000000000f5: # @func00000000000000f5 ret func0000000000000000: # @func0000000000000000 sh1add a0, a0, a0 - slli a0, a0, 3 - sh2add a0, a1, a0 + sh1add a0, a0, a1 + slli a0, a0, 2 addiw a0, a0, 832 ret func00000000000000d8: # @func00000000000000d8 @@ -47,9 +47,9 @@ func00000000000000d8: # @func00000000000000d8 addi a0, a0, -5 ret func0000000000000055: # @func0000000000000055 - slli a1, a1, 4 sh2add a0, a0, a0 - sh3add a0, a0, a1 + sh1add a0, a1, a0 + slli a0, a0, 3 addi a0, a0, 184 ret func00000000000000b8: # @func00000000000000b8 diff --git a/result/rvb23u64/6339f5c7ade43785.S b/result/rvb23u64/6339f5c7ade43785.S index d3ce7d9aecc..9a8325593dd 100644 --- a/result/rvb23u64/6339f5c7ade43785.S +++ b/result/rvb23u64/6339f5c7ade43785.S @@ -13,8 +13,8 @@ func0000000000000003: # @func0000000000000003 ret func0000000000000015: # @func0000000000000015 sh3add a0, a0, a0 - li a1, 7 - sh2add a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, 7 andi a0, a0, -8 addi a0, a0, 24 ret diff --git a/result/rvb23u64/6355e38e253964e2.S b/result/rvb23u64/6355e38e253964e2.S index 806ca763165..559b6c45333 100644 --- a/result/rvb23u64/6355e38e253964e2.S +++ b/result/rvb23u64/6355e38e253964e2.S @@ -9,6 +9,6 @@ func0000000000000004: # @func0000000000000004 li a1, 6 minu a0, a0, a1 sh2add a0, a0, a0 - slli a0, a0, 3 - andi a0, a0, 248 + slli a0, a0, 59 + srli a0, a0, 56 ret diff --git a/result/rvb23u64/63b737f98939856e.S b/result/rvb23u64/63b737f98939856e.S index 5b99240947e..f595286724c 100644 --- a/result/rvb23u64/63b737f98939856e.S +++ b/result/rvb23u64/63b737f98939856e.S @@ -1,10 +1,10 @@ func0000000000000026: # @func0000000000000026 sext.w a0, a0 sh1add a1, a1, a1 - slli a1, a1, 1 - sraiw a2, a1, 31 + slli a2, a1, 1 + sraiw a2, a2, 31 srliw a2, a2, 28 - add a1, a1, a2 + sh1add a1, a1, a2 sraiw a1, a1, 4 slt a0, a1, a0 ret diff --git a/result/rvb23u64/63ba42e58f7ced20.S b/result/rvb23u64/63ba42e58f7ced20.S index 1917f6d096d..a60cbf015ac 100644 --- a/result/rvb23u64/63ba42e58f7ced20.S +++ b/result/rvb23u64/63ba42e58f7ced20.S @@ -8,8 +8,8 @@ func0000000000000007: # @func0000000000000007 ret func0000000000000004: # @func0000000000000004 sext.w a2, a2 - li a3, 260 - mul a2, a2, a3 + slli a3, a2, 8 + sh2add a2, a2, a3 add a1, a1, a2 sh2add a0, a0, a1 addi a0, a0, 4 diff --git a/result/rvb23u64/6400e37f1036ed19.S b/result/rvb23u64/6400e37f1036ed19.S index 1cdaa6e1024..3e51c2b5749 100644 --- a/result/rvb23u64/6400e37f1036ed19.S +++ b/result/rvb23u64/6400e37f1036ed19.S @@ -2,8 +2,8 @@ func0000000000000001: # @func0000000000000001 sext.w a1, a1 addiw a2, a2, -1 minu a1, a2, a1 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh3add a0, a1, a0 ret func0000000000000003: # @func0000000000000003 diff --git a/result/rvb23u64/640abbbed424fb50.S b/result/rvb23u64/640abbbed424fb50.S index 8d6e894dddb..9ae1c1abf56 100644 --- a/result/rvb23u64/640abbbed424fb50.S +++ b/result/rvb23u64/640abbbed424fb50.S @@ -11,9 +11,12 @@ func0000000000000005: # @func0000000000000005 addi a0, a0, 4 ret func0000000000000014: # @func0000000000000014 - slli a1, a1, 48 - srli a1, a1, 49 - sh1add a1, a1, a1 + slli a2, a1, 48 + srli a2, a2, 49 + lui a3, 16 + addiw a3, a3, -2 + and a1, a1, a3 + add a1, a1, a2 sh1add a0, a1, a0 addi a0, a0, 2 ret diff --git a/result/rvb23u64/64ccd311e3d188e7.S b/result/rvb23u64/64ccd311e3d188e7.S index 5b1e099da20..16cd9e7d63a 100644 --- a/result/rvb23u64/64ccd311e3d188e7.S +++ b/result/rvb23u64/64ccd311e3d188e7.S @@ -40,7 +40,7 @@ func0000000000000008: # @func0000000000000008 addw a0, a0, a1 ret func0000000000000004: # @func0000000000000004 - andi a0, a0, -8 sh1add a1, a1, a1 + andi a0, a0, -8 sh3add a0, a1, a0 ret diff --git a/result/rvb23u64/655803ab8e33641c.S b/result/rvb23u64/655803ab8e33641c.S index 73717a4faac..c26044f9e38 100644 --- a/result/rvb23u64/655803ab8e33641c.S +++ b/result/rvb23u64/655803ab8e33641c.S @@ -1,6 +1,6 @@ func0000000000000025: # @func0000000000000025 - srliw a0, a0, 16 sh2add a1, a1, a1 + srliw a0, a0, 16 sh1add a0, a1, a0 addiw a0, a0, -1 ret diff --git a/result/rvb23u64/659be7732bf2eff2.S b/result/rvb23u64/659be7732bf2eff2.S index ac187b23d8b..03451872238 100644 --- a/result/rvb23u64/659be7732bf2eff2.S +++ b/result/rvb23u64/659be7732bf2eff2.S @@ -13,8 +13,8 @@ func0000000000000007: # @func0000000000000007 ret func000000000000004f: # @func000000000000004f sh2add a1, a1, a1 - slli a1, a1, 1 - andi a1, a1, 254 + slli a1, a1, 57 + srli a1, a1, 56 add a0, a0, a1 sh2add a0, a0, a0 slliw a0, a0, 1 diff --git a/result/rvb23u64/661f72418f3ada3b.S b/result/rvb23u64/661f72418f3ada3b.S index 7969f66ae64..e737c0a8814 100644 --- a/result/rvb23u64/661f72418f3ada3b.S +++ b/result/rvb23u64/661f72418f3ada3b.S @@ -4,9 +4,9 @@ func0000000000000000: # @func0000000000000000 slli a2, a1, 32 add a0, a0, a1 add a0, a0, a2 - srli a1, a0, 8 - sh2add a0, a0, a0 - sh1add a0, a0, a1 + sh2add a1, a0, a0 + srli a0, a0, 8 + sh1add a0, a1, a0 li a1, 255 slli a1, a1, 32 addi a1, a1, 255 diff --git a/result/rvb23u64/6640bc37a0e285fe.S b/result/rvb23u64/6640bc37a0e285fe.S index 75ca912b964..6cfc7371248 100644 --- a/result/rvb23u64/6640bc37a0e285fe.S +++ b/result/rvb23u64/6640bc37a0e285fe.S @@ -31,7 +31,8 @@ func0000000000000008: # @func0000000000000008 addiw a4, a4, 1639 mul a3, a3, a4 srliw a4, a3, 31 - srli a3, a3, 18 + srai a3, a3, 16 + srli a3, a3, 2 add a3, a3, a4 sh2add a3, a3, a3 slli a3, a3, 1 diff --git a/result/rvb23u64/6642c82a5f060b87.S b/result/rvb23u64/6642c82a5f060b87.S index 2a0cfe9409a..df40b41ec1b 100644 --- a/result/rvb23u64/6642c82a5f060b87.S +++ b/result/rvb23u64/6642c82a5f060b87.S @@ -1,9 +1,11 @@ func0000000000000010: # @func0000000000000010 sh1add a0, a0, a0 sh3add a0, a0, a2 - neg a1, a1 - sh1add a1, a1, a1 - sh3add a0, a1, a0 + neg a2, a1 + slli a2, a2, 4 + slli a1, a1, 3 + sub a2, a2, a1 + add a0, a0, a2 addi a0, a0, 24 ret func0000000000000013: # @func0000000000000013 diff --git a/result/rvb23u64/664fc2f6ff915d29.S b/result/rvb23u64/664fc2f6ff915d29.S index bcd227011be..f9c5d4b33a3 100644 --- a/result/rvb23u64/664fc2f6ff915d29.S +++ b/result/rvb23u64/664fc2f6ff915d29.S @@ -1,7 +1,7 @@ func0000000000000016: # @func0000000000000016 sh1add a1, a1, a1 - li a2, -24 - sh3add a1, a1, a2 + slli a1, a1, 3 + addi a1, a1, -24 lui a2, 699051 addiw a2, a2, -1365 slli a3, a2, 32 diff --git a/result/rvb23u64/66612dcbd505776d.S b/result/rvb23u64/66612dcbd505776d.S index 41508c8b250..15c82df14e4 100644 --- a/result/rvb23u64/66612dcbd505776d.S +++ b/result/rvb23u64/66612dcbd505776d.S @@ -1,7 +1,7 @@ func0000000000000020: # @func0000000000000020 bset a1, zero, a1 addi a1, a1, -1 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh3add a0, a1, a0 ret diff --git a/result/rvb23u64/66a6170fc1f80123.S b/result/rvb23u64/66a6170fc1f80123.S index feedd906b8f..59de83da6c0 100644 --- a/result/rvb23u64/66a6170fc1f80123.S +++ b/result/rvb23u64/66a6170fc1f80123.S @@ -6,12 +6,16 @@ func0000000000000007: # @func0000000000000007 func0000000000000017: # @func0000000000000017 slli a2, a2, 35 srli a2, a2, 35 - neg a2, a2 - neg a1, a1 - sh1add a1, a1, a1 - sh2add a0, a1, a0 - sh1add a1, a2, a2 - sh2add a0, a1, a0 + neg a3, a2 + neg a4, a1 + slli a4, a4, 3 + slli a1, a1, 2 + sub a0, a0, a1 + add a0, a0, a4 + slli a3, a3, 3 + slli a2, a2, 2 + sub a3, a3, a2 + add a0, a0, a3 ret func0000000000000004: # @func0000000000000004 zext.w a2, a2 diff --git a/result/rvb23u64/677d418c6058be6a.S b/result/rvb23u64/677d418c6058be6a.S index 59ae3a87396..243ef36071a 100644 --- a/result/rvb23u64/677d418c6058be6a.S +++ b/result/rvb23u64/677d418c6058be6a.S @@ -1,5 +1,5 @@ func0000000000000000: # @func0000000000000000 sh1add a0, a0, a0 - li a1, -12 - sh2add a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, -12 ret diff --git a/result/rvb23u64/6786eafb6f193737.S b/result/rvb23u64/6786eafb6f193737.S index 5e10f1c803d..03f7ea95a58 100644 --- a/result/rvb23u64/6786eafb6f193737.S +++ b/result/rvb23u64/6786eafb6f193737.S @@ -17,8 +17,8 @@ func0000000000000007: # @func0000000000000007 addi a0, a0, 1 ret func0000000000000006: # @func0000000000000006 - zext.w a2, a2 - sh1add a2, a2, a2 + zext.w a3, a2 + sh1add.uw a2, a2, a3 sh2add a1, a2, a1 sh1add a0, a0, a0 sh2add a0, a0, a1 diff --git a/result/rvb23u64/67ab578d7f488f58.S b/result/rvb23u64/67ab578d7f488f58.S index 9d06ea2e52d..7873e255fd1 100644 --- a/result/rvb23u64/67ab578d7f488f58.S +++ b/result/rvb23u64/67ab578d7f488f58.S @@ -5,9 +5,11 @@ func000000000000000b: # @func000000000000000b ret func0000000000000003: # @func0000000000000003 subw a1, a1, a2 - neg a1, a1 - sh1add a1, a1, a1 - sh3add a0, a1, a0 + neg a2, a1 + slli a1, a1, 3 + slli a2, a2, 4 + sub a0, a0, a1 + add a0, a0, a2 ret func0000000000000002: # @func0000000000000002 subw a1, a1, a2 diff --git a/result/rvb23u64/67c23e636580ecf8.S b/result/rvb23u64/67c23e636580ecf8.S index 6fd1cee193d..513944f5c95 100644 --- a/result/rvb23u64/67c23e636580ecf8.S +++ b/result/rvb23u64/67c23e636580ecf8.S @@ -21,8 +21,8 @@ func0000000000000004: # @func0000000000000004 ret func0000000000000002: # @func0000000000000002 xori a1, a1, 1 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 16 ret diff --git a/result/rvb23u64/68135141794655b1.S b/result/rvb23u64/68135141794655b1.S index 00046fd43b6..bd7d11fa671 100644 --- a/result/rvb23u64/68135141794655b1.S +++ b/result/rvb23u64/68135141794655b1.S @@ -9,8 +9,8 @@ func0000000000000003: # @func0000000000000003 add a0, a0, a1 ret func0000000000000000: # @func0000000000000000 - zext.w a2, a2 - sh3add a2, a2, a2 + zext.w a3, a2 + sh3add.uw a2, a2, a3 sh3add a0, a2, a0 sext.w a1, a1 slli a1, a1, 4 diff --git a/result/rvb23u64/6861fadd0fa6fa35.S b/result/rvb23u64/6861fadd0fa6fa35.S index a510711ac41..0c48f44c4f7 100644 --- a/result/rvb23u64/6861fadd0fa6fa35.S +++ b/result/rvb23u64/6861fadd0fa6fa35.S @@ -1,7 +1,8 @@ func0000000000000001: # @func0000000000000001 srliw a2, a1, 31 + addw a1, a1, a2 + srli a2, a1, 1 + andi a1, a1, -2 add a1, a1, a2 - sraiw a1, a1, 1 - sh1add a1, a1, a1 sh2add a0, a1, a0 ret diff --git a/result/rvb23u64/688327af29ee3b90.S b/result/rvb23u64/688327af29ee3b90.S index 3df87e04bc7..dfa05565884 100644 --- a/result/rvb23u64/688327af29ee3b90.S +++ b/result/rvb23u64/688327af29ee3b90.S @@ -1,6 +1,6 @@ func000000000000001b: # @func000000000000001b - zext.w a2, a2 - sh1add a2, a2, a2 + zext.w a3, a2 + sh1add.uw a2, a2, a3 sh1add a0, a2, a0 add.uw a0, a1, a0 ret diff --git a/result/rvb23u64/68b998da120607f7.S b/result/rvb23u64/68b998da120607f7.S index da27337c6a6..04397dd9a0c 100644 --- a/result/rvb23u64/68b998da120607f7.S +++ b/result/rvb23u64/68b998da120607f7.S @@ -1,10 +1,11 @@ func0000000000000007: # @func0000000000000007 slli a1, a1, 3 srli a1, a1, 35 - neg a1, a1 - sh1add a1, a1, a1 - sh2add a0, a1, a0 + neg a2, a1 + slli a1, a1, 2 + sub a0, a0, a1 li a1, 1056 + sh1add a1, a2, a1 sh2add a0, a1, a0 ret func0000000000000004: # @func0000000000000004 diff --git a/result/rvb23u64/6a095f96997ce267.S b/result/rvb23u64/6a095f96997ce267.S index 7506058d624..9c9e4b40cb4 100644 --- a/result/rvb23u64/6a095f96997ce267.S +++ b/result/rvb23u64/6a095f96997ce267.S @@ -13,7 +13,8 @@ func000000000000000b: # @func000000000000000b func0000000000000042: # @func0000000000000042 sext.w a1, a1 sltiu a1, a1, 3 - sh2add a1, a1, a1 - sh2add a0, a1, a0 + slli a2, a1, 4 + sh2add a1, a1, a2 + add a0, a0, a1 addi a0, a0, 184 ret diff --git a/result/rvb23u64/6a53ae29df20cf87.S b/result/rvb23u64/6a53ae29df20cf87.S index df3a8758ac0..7a23fe6acbe 100644 --- a/result/rvb23u64/6a53ae29df20cf87.S +++ b/result/rvb23u64/6a53ae29df20cf87.S @@ -59,9 +59,8 @@ func0000000000000042: # @func0000000000000042 ret func0000000000000030: # @func0000000000000030 sh1add a1, a1, a1 - slli a1, a1, 3 - srli a1, a1, 2 - addw a0, a0, a1 + sh1add a0, a1, a0 + sext.w a0, a0 ret func0000000000000061: # @func0000000000000061 lui a2, 10486 diff --git a/result/rvb23u64/6b48ac52a41a9f4b.S b/result/rvb23u64/6b48ac52a41a9f4b.S index 46eaae458f5..c926dc297b6 100644 --- a/result/rvb23u64/6b48ac52a41a9f4b.S +++ b/result/rvb23u64/6b48ac52a41a9f4b.S @@ -1,7 +1,7 @@ func0000000000000001: # @func0000000000000001 and a1, a1, a2 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh2add a0, a1, a0 ret func0000000000000000: # @func0000000000000000 diff --git a/result/rvb23u64/6b4e667cea4444e7.S b/result/rvb23u64/6b4e667cea4444e7.S index 90b5098bad0..fe11776ca60 100644 --- a/result/rvb23u64/6b4e667cea4444e7.S +++ b/result/rvb23u64/6b4e667cea4444e7.S @@ -7,8 +7,8 @@ func0000000000000017: # @func0000000000000017 ret func0000000000000003: # @func0000000000000003 sh1add a1, a1, a1 - li a2, -6 - sh1add a1, a1, a2 + slli a1, a1, 1 + addi a1, a1, -6 andi a0, a0, 63 sllw a0, a0, a1 ret diff --git a/result/rvb23u64/6bb582747f2f49d1.S b/result/rvb23u64/6bb582747f2f49d1.S index 8b885d89d74..c40ed71c0a7 100644 --- a/result/rvb23u64/6bb582747f2f49d1.S +++ b/result/rvb23u64/6bb582747f2f49d1.S @@ -1,6 +1,7 @@ func0000000000000002: # @func0000000000000002 - srai a1, a1, 32 - sh1add a1, a1, a1 + srai a2, a1, 32 + srai a1, a1, 31 + add a1, a1, a2 sh3add a0, a1, a0 ret func0000000000000003: # @func0000000000000003 diff --git a/result/rvb23u64/6bc65528f05a381f.S b/result/rvb23u64/6bc65528f05a381f.S index b97a777e856..53af82812e9 100644 --- a/result/rvb23u64/6bc65528f05a381f.S +++ b/result/rvb23u64/6bc65528f05a381f.S @@ -2,8 +2,8 @@ func0000000000000001: # @func0000000000000001 sh3add a3, a2, a2 sh2add a2, a3, a2 and a1, a1, a2 - zext.w a1, a1 - sh2add a1, a1, a1 + zext.w a2, a1 + sh2add.uw a1, a1, a2 sh3add a0, a1, a0 ret func0000000000000000: # @func0000000000000000 diff --git a/result/rvb23u64/6bdad51ede23c32d.S b/result/rvb23u64/6bdad51ede23c32d.S index dac29c6e4c6..d8be67d4f65 100644 --- a/result/rvb23u64/6bdad51ede23c32d.S +++ b/result/rvb23u64/6bdad51ede23c32d.S @@ -23,8 +23,8 @@ func000000000000000e: # @func000000000000000e ret func0000000000000005: # @func0000000000000005 sh1add a1, a1, a1 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh2add a0, a1, a0 ret func0000000000000004: # @func0000000000000004 diff --git a/result/rvb23u64/6c07d60b885b96e2.S b/result/rvb23u64/6c07d60b885b96e2.S index 5e3ead0d00b..b78c1ec3400 100644 --- a/result/rvb23u64/6c07d60b885b96e2.S +++ b/result/rvb23u64/6c07d60b885b96e2.S @@ -55,8 +55,8 @@ func0000000000000003: # @func0000000000000003 li a3, 344 mul a2, a2, a3 add a1, a1, a2 - zext.w a0, a0 - sh1add a0, a0, a0 + zext.w a2, a0 + sh1add.uw a0, a0, a2 sh3add a0, a0, a1 addi a0, a0, 104 ret diff --git a/result/rvb23u64/6c1b2cda3402d905.S b/result/rvb23u64/6c1b2cda3402d905.S index 8e7c1f2193c..6afefb96bf5 100644 --- a/result/rvb23u64/6c1b2cda3402d905.S +++ b/result/rvb23u64/6c1b2cda3402d905.S @@ -9,8 +9,9 @@ func0000000000000007: # @func0000000000000007 slli a0, a0, 5 ret func0000000000000005: # @func0000000000000005 - srai a0, a0, 32 - sh1add a0, a0, a0 + srai a1, a0, 32 + srai a0, a0, 31 + add a0, a0, a1 slli a0, a0, 3 ret func0000000000000001: # @func0000000000000001 @@ -20,8 +21,7 @@ func0000000000000001: # @func0000000000000001 mul a0, a0, a1 ret func0000000000000000: # @func0000000000000000 - sext.w a0, a0 - srli a0, a0, 1 + sraiw a0, a0, 1 sh2add a0, a0, a0 slliw a0, a0, 2 ret @@ -31,7 +31,6 @@ func0000000000000003: # @func0000000000000003 mul a0, a0, a1 ret func0000000000000006: # @func0000000000000006 - srai a0, a0, 5 - li a1, 136 - mul a0, a0, a1 + srai a1, a0, 2 + sh2add a0, a0, a1 ret diff --git a/result/rvb23u64/6c4e5b14fe6f3fc9.S b/result/rvb23u64/6c4e5b14fe6f3fc9.S index 195d696ad51..e90dd7e281d 100644 --- a/result/rvb23u64/6c4e5b14fe6f3fc9.S +++ b/result/rvb23u64/6c4e5b14fe6f3fc9.S @@ -69,8 +69,8 @@ func0000000000000005: # @func0000000000000005 ret func000000000000000f: # @func000000000000000f sh1add a1, a1, a1 - slli a1, a1, 2 - srliw a1, a1, 3 + slli a1, a1, 34 + srli a1, a1, 35 addw a0, a0, a1 ret func000000000000000d: # @func000000000000000d @@ -104,8 +104,8 @@ func0000000000000001: # @func0000000000000001 ret func0000000000000007: # @func0000000000000007 sh1add a1, a1, a1 - slli a1, a1, 3 - srliw a1, a1, 3 + slli a1, a1, 35 + srli a1, a1, 35 addw a0, a0, a1 ret func0000000000000018: # @func0000000000000018 diff --git a/result/rvb23u64/6c52bb3d1c21dee8.S b/result/rvb23u64/6c52bb3d1c21dee8.S index 61bdc0f3797..1c84b4be866 100644 --- a/result/rvb23u64/6c52bb3d1c21dee8.S +++ b/result/rvb23u64/6c52bb3d1c21dee8.S @@ -1,8 +1,10 @@ func0000000000000003: # @func0000000000000003 min a1, a1, a2 - neg a1, a1 - sh3add a1, a1, a1 - sh3add a0, a1, a0 + neg a2, a1 + slli a1, a1, 3 + slli a2, a2, 6 + sub a0, a0, a1 + add a0, a0, a2 ret func0000000000000001: # @func0000000000000001 min a1, a1, a2 @@ -19,7 +21,9 @@ func0000000000000000: # @func0000000000000000 ret func0000000000000002: # @func0000000000000002 min a1, a1, a2 - neg a1, a1 - sh2add a1, a1, a1 - sh2add a0, a1, a0 + neg a2, a1 + slli a1, a1, 2 + slli a2, a2, 4 + sub a0, a0, a1 + add a0, a0, a2 ret diff --git a/result/rvb23u64/6c8afe729951e67f.S b/result/rvb23u64/6c8afe729951e67f.S index 5db6066e55b..343a78e5ed5 100644 --- a/result/rvb23u64/6c8afe729951e67f.S +++ b/result/rvb23u64/6c8afe729951e67f.S @@ -25,8 +25,8 @@ func000000000000000c: # @func000000000000000c ret func0000000000000041: # @func0000000000000041 sh1add a0, a0, a0 - li a1, 23 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 23 andi a0, a0, -8 seqz a0, a0 ret diff --git a/result/rvb23u64/6cdb0a8c190ee717.S b/result/rvb23u64/6cdb0a8c190ee717.S index 6b15d8b5270..8f90726aac0 100644 --- a/result/rvb23u64/6cdb0a8c190ee717.S +++ b/result/rvb23u64/6cdb0a8c190ee717.S @@ -1,7 +1,7 @@ func00000000000001b8: # @func00000000000001b8 + zext.w a2, a2 sh1add a1, a1, a1 - slli a1, a1, 2 - add.uw a1, a2, a1 + sh2add a1, a1, a2 zext.w a0, a0 sltu a0, a0, a1 ret diff --git a/result/rvb23u64/6cf7de9fd61db6a7.S b/result/rvb23u64/6cf7de9fd61db6a7.S index a487276fedb..21bec5d16be 100644 --- a/result/rvb23u64/6cf7de9fd61db6a7.S +++ b/result/rvb23u64/6cf7de9fd61db6a7.S @@ -6,8 +6,9 @@ func0000000000000002: # @func0000000000000002 func0000000000000003: # @func0000000000000003 andi a2, a2, 1 add a0, a0, a1 - sh1add a1, a2, a2 - sh3add a0, a1, a0 + slli a1, a2, 4 + sh3add a1, a2, a1 + add a0, a0, a1 ret func0000000000000000: # @func0000000000000000 andi a2, a2, 127 diff --git a/result/rvb23u64/6d1093b3d1636b0d.S b/result/rvb23u64/6d1093b3d1636b0d.S index f446c5361b7..a763de0dcb2 100644 --- a/result/rvb23u64/6d1093b3d1636b0d.S +++ b/result/rvb23u64/6d1093b3d1636b0d.S @@ -4,10 +4,10 @@ func0000000000000781: # @func0000000000000781 sh2add a3, a3, a3 sh1add a3, a3, a4 sh2add a2, a2, a2 - slli a2, a2, 1 + slli a4, a2, 1 + sh1add a0, a2, a0 + sltu a0, a0, a4 add a1, a1, a3 - add a0, a0, a2 - sltu a0, a0, a2 add a0, a0, a1 seqz a0, a0 ret diff --git a/result/rvb23u64/6d2d0242c2fc2c6f.S b/result/rvb23u64/6d2d0242c2fc2c6f.S index e87b8c23b30..97e9b5fa1c8 100644 --- a/result/rvb23u64/6d2d0242c2fc2c6f.S +++ b/result/rvb23u64/6d2d0242c2fc2c6f.S @@ -1,21 +1,21 @@ func000000000000003f: # @func000000000000003f + sh3add a2, a2, a2 sext.w a1, a1 sh2add a0, a1, a0 - sh3add a1, a2, a2 - sh3add a0, a1, a0 + sh3add a0, a2, a0 addi a0, a0, 76 ret func000000000000001f: # @func000000000000001f + sh1add a2, a2, a2 sext.w a1, a1 sh3add a0, a1, a0 - sh1add a1, a2, a2 - sh3add a0, a1, a0 + sh3add a0, a2, a0 addi a0, a0, 8 ret func0000000000000017: # @func0000000000000017 + sh1add a2, a2, a2 sext.w a1, a1 sh3add a0, a1, a0 - sh1add a1, a2, a2 - sh3add a0, a1, a0 + sh3add a0, a2, a0 addi a0, a0, 16 ret diff --git a/result/rvb23u64/6d321cf98097a943.S b/result/rvb23u64/6d321cf98097a943.S index 3d5a39b4c9c..911e89edbe5 100644 --- a/result/rvb23u64/6d321cf98097a943.S +++ b/result/rvb23u64/6d321cf98097a943.S @@ -9,8 +9,9 @@ func0000000000000001: # @func0000000000000001 func0000000000000003: # @func0000000000000003 sub a1, a1, a2 slli a1, a1, 29 - srai a1, a1, 32 - sh1add a1, a1, a1 + srai a2, a1, 32 + srai a1, a1, 31 + add a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 16 ret diff --git a/result/rvb23u64/6db3368d24e6208b.S b/result/rvb23u64/6db3368d24e6208b.S index 1ae81ff7f5e..0ec5b672480 100644 --- a/result/rvb23u64/6db3368d24e6208b.S +++ b/result/rvb23u64/6db3368d24e6208b.S @@ -1,7 +1,7 @@ func0000000000000000: # @func0000000000000000 sh2add a2, a2, a2 - slli a2, a2, 1 - mul a1, a1, a2 - sub a0, a2, a0 - add a0, a0, a1 + slli a3, a2, 1 + mul a1, a1, a3 + sh1add a1, a2, a1 + sub a0, a1, a0 ret diff --git a/result/rvb23u64/6de0c4a61b14ee5b.S b/result/rvb23u64/6de0c4a61b14ee5b.S index bd47ce4a1f4..5503b9dba6a 100644 --- a/result/rvb23u64/6de0c4a61b14ee5b.S +++ b/result/rvb23u64/6de0c4a61b14ee5b.S @@ -5,8 +5,9 @@ func0000000000000001: # @func0000000000000001 addi a0, a0, 56 ret func0000000000000000: # @func0000000000000000 - srli a1, a1, 2 - sh2add a1, a1, a1 + srli a2, a1, 2 + andi a1, a1, -4 + add a1, a1, a2 sh2add a0, a1, a0 addi a0, a0, 8 ret diff --git a/result/rvb23u64/6df868b066db2313.S b/result/rvb23u64/6df868b066db2313.S index a79a2be4ebc..35f6fd8faa0 100644 --- a/result/rvb23u64/6df868b066db2313.S +++ b/result/rvb23u64/6df868b066db2313.S @@ -8,8 +8,8 @@ func0000000000000001: # @func0000000000000001 ret func0000000000000000: # @func0000000000000000 xori a1, a1, 1 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 16 ret diff --git a/result/rvb23u64/6dfe23c39aee4fd2.S b/result/rvb23u64/6dfe23c39aee4fd2.S index 2233663ae66..a983a8d4b44 100644 --- a/result/rvb23u64/6dfe23c39aee4fd2.S +++ b/result/rvb23u64/6dfe23c39aee4fd2.S @@ -1,7 +1,7 @@ func0000000000000007: # @func0000000000000007 - sext.w a1, a1 - srli a1, a1, 1 - sh1add a1, a1, a1 + srli a2, a1, 1 + andi a1, a1, -2 + add a1, a1, a2 slliw a1, a1, 1 add a0, a0, a1 addi a0, a0, 4 diff --git a/result/rvb23u64/6e9036d816c5138e.S b/result/rvb23u64/6e9036d816c5138e.S index 94f41972ac8..174ba188c51 100644 --- a/result/rvb23u64/6e9036d816c5138e.S +++ b/result/rvb23u64/6e9036d816c5138e.S @@ -17,8 +17,8 @@ func0000000000000001: # @func0000000000000001 ret func0000000000000008: # @func0000000000000008 sh1add a1, a1, a1 - slli a1, a1, 1 - zext.w a1, a1 + slli a1, a1, 33 + srli a1, a1, 32 sltu a0, a1, a0 ret func0000000000000011: # @func0000000000000011 @@ -36,15 +36,15 @@ func0000000000000006: # @func0000000000000006 func0000000000000046: # @func0000000000000046 sext.w a0, a0 sh2add a1, a1, a1 - slli a1, a1, 1 - zext.h a1, a1 + slli a1, a1, 49 + srli a1, a1, 48 slt a0, a0, a1 ret func0000000000000044: # @func0000000000000044 sext.w a0, a0 sh2add a1, a1, a1 - slli a1, a1, 1 - zext.h a1, a1 + slli a1, a1, 49 + srli a1, a1, 48 sltu a0, a0, a1 ret func0000000000000078: # @func0000000000000078 @@ -65,8 +65,8 @@ func0000000000000028: # @func0000000000000028 ret func0000000000000048: # @func0000000000000048 sh1add a1, a1, a1 - slli a1, a1, 2 - zext.w a1, a1 + slli a1, a1, 34 + srli a1, a1, 32 sltu a0, a1, a0 ret func0000000000000031: # @func0000000000000031 diff --git a/result/rvb23u64/6f2d2d25cfb5d904.S b/result/rvb23u64/6f2d2d25cfb5d904.S index d025b240c13..b74b0d01199 100644 --- a/result/rvb23u64/6f2d2d25cfb5d904.S +++ b/result/rvb23u64/6f2d2d25cfb5d904.S @@ -6,8 +6,8 @@ func0000000000000035: # @func0000000000000035 ret func0000000000000036: # @func0000000000000036 sh1add a1, a1, a1 - slli a1, a1, 1 - srliw a1, a1, 3 + slli a1, a1, 33 + srli a1, a1, 35 add a0, a0, a1 ret func0000000000000007: # @func0000000000000007 diff --git a/result/rvb23u64/6fd542b98878e7ad.S b/result/rvb23u64/6fd542b98878e7ad.S index 0930c5fdda3..5990b914a43 100644 --- a/result/rvb23u64/6fd542b98878e7ad.S +++ b/result/rvb23u64/6fd542b98878e7ad.S @@ -17,14 +17,14 @@ func00000000000000f1: # @func00000000000000f1 ret func0000000000000088: # @func0000000000000088 sh2add a1, a1, a1 - li a2, -1 - sh1add a1, a1, a2 + slli a1, a1, 1 + addi a1, a1, -1 sltu a0, a1, a0 ret func0000000000000054: # @func0000000000000054 sh2add a1, a1, a1 - li a2, 120 - sh3add a1, a1, a2 + slli a1, a1, 3 + addi a1, a1, 120 sltu a0, a0, a1 ret func0000000000000056: # @func0000000000000056 @@ -55,9 +55,8 @@ func0000000000000001: # @func0000000000000001 func0000000000000004: # @func0000000000000004 sext.w a0, a0 sh2add a1, a1, a1 - li a2, 10 - sh1add a1, a1, a2 - sext.w a1, a1 + slli a1, a1, 1 + addiw a1, a1, 10 sltu a0, a0, a1 ret func000000000000000b: # @func000000000000000b @@ -78,9 +77,8 @@ func0000000000000051: # @func0000000000000051 func0000000000000006: # @func0000000000000006 sext.w a0, a0 sh2add a1, a1, a1 - li a2, 16 - sh2add a1, a1, a2 - sext.w a1, a1 + slli a1, a1, 2 + addiw a1, a1, 16 slt a0, a0, a1 ret func00000000000000f6: # @func00000000000000f6 @@ -113,30 +111,29 @@ func00000000000000fb: # @func00000000000000fb ret func00000000000000a4: # @func00000000000000a4 sh1add a1, a1, a1 - li a2, 2 - sh1add a1, a1, a2 + slli a1, a1, 1 + addi a1, a1, 2 sltu a0, a0, a1 ret func0000000000000089: # @func0000000000000089 sh2add a1, a1, a1 - li a2, 40 - sh3add a1, a1, a2 + slli a1, a1, 3 + addi a1, a1, 40 sltu a0, a0, a1 xori a0, a0, 1 ret func00000000000000f9: # @func00000000000000f9 sh2add a1, a1, a1 - li a2, 40 - sh3add a1, a1, a2 + slli a1, a1, 3 + addi a1, a1, 40 sltu a0, a0, a1 xori a0, a0, 1 ret func000000000000007b: # @func000000000000007b sext.w a0, a0 sh1add a1, a1, a1 - li a2, 16 - sh1add a1, a1, a2 - sext.w a1, a1 + slli a1, a1, 1 + addiw a1, a1, 16 slt a0, a0, a1 xori a0, a0, 1 ret diff --git a/result/rvb23u64/70630f8bf52794fe.S b/result/rvb23u64/70630f8bf52794fe.S index 4a673a259f0..07933ca0b2d 100644 --- a/result/rvb23u64/70630f8bf52794fe.S +++ b/result/rvb23u64/70630f8bf52794fe.S @@ -1,6 +1,7 @@ func00000000000000f8: # @func00000000000000f8 - slli.uw a2, a2, 2 - sh1add a2, a2, a2 - add.uw a1, a1, a2 + zext.w a3, a2 + sh1add.uw a2, a2, a3 + zext.w a1, a1 + sh2add a1, a2, a1 sltu a0, a0, a1 ret diff --git a/result/rvb23u64/71068138a440dac7.S b/result/rvb23u64/71068138a440dac7.S index 5fb89cd0532..061b365b431 100644 --- a/result/rvb23u64/71068138a440dac7.S +++ b/result/rvb23u64/71068138a440dac7.S @@ -1,7 +1,9 @@ func0000000000000019: # @func0000000000000019 - neg a2, a2 - sh2add a2, a2, a2 - sh3add a1, a2, a1 + neg a3, a2 + slli a3, a3, 5 + slli a2, a2, 3 + sub a1, a1, a2 + add a1, a1, a3 sub a1, a1, a0 lui a0, 838861 addiw a0, a0, -819 @@ -11,9 +13,11 @@ func0000000000000019: # @func0000000000000019 srli a0, a0, 5 ret func0000000000000009: # @func0000000000000009 - neg a2, a2 - sh1add a2, a2, a2 - sh3add a1, a2, a1 + neg a3, a2 + slli a3, a3, 4 + slli a2, a2, 3 + sub a1, a1, a2 + add a1, a1, a3 sub a1, a1, a0 lui a0, 699051 addiw a0, a0, -1365 @@ -23,9 +27,11 @@ func0000000000000009: # @func0000000000000009 srli a0, a0, 4 ret func0000000000000011: # @func0000000000000011 - neg a2, a2 - sh1add a2, a2, a2 - sh3add a1, a2, a1 + neg a3, a2 + slli a3, a3, 4 + slli a2, a2, 3 + sub a1, a1, a2 + add a1, a1, a3 sub a1, a1, a0 lui a0, 699051 addiw a0, a0, -1365 @@ -35,9 +41,11 @@ func0000000000000011: # @func0000000000000011 srli a0, a0, 4 ret func0000000000000001: # @func0000000000000001 - neg a2, a2 - sh1add a2, a2, a2 - sh2add a1, a2, a1 + neg a3, a2 + slli a3, a3, 3 + slli a2, a2, 2 + sub a1, a1, a2 + add a1, a1, a3 sub a1, a1, a0 lui a0, 699051 addiw a0, a0, -1365 diff --git a/result/rvb23u64/71b3ce81980afcba.S b/result/rvb23u64/71b3ce81980afcba.S index 92b1f9cccca..3bc042585e2 100644 --- a/result/rvb23u64/71b3ce81980afcba.S +++ b/result/rvb23u64/71b3ce81980afcba.S @@ -1,7 +1,7 @@ func0000000000000005: # @func0000000000000005 sh1add a1, a1, a1 - li a2, 15 - sh3add a1, a1, a2 + slli a1, a1, 3 + addi a1, a1, 15 andi a1, a1, -16 add a0, a0, a1 ret diff --git a/result/rvb23u64/7249700b8338403f.S b/result/rvb23u64/7249700b8338403f.S index 381c15be0f8..ff95fce1ea8 100644 --- a/result/rvb23u64/7249700b8338403f.S +++ b/result/rvb23u64/7249700b8338403f.S @@ -1,7 +1,7 @@ func000000000000007f: # @func000000000000007f + sh2add a1, a1, a1 li a2, 100 mul a0, a0, a2 - sh2add a1, a1, a1 sh1add a0, a1, a0 sext.w a0, a0 ret diff --git a/result/rvb23u64/72828b7f45d1ad82.S b/result/rvb23u64/72828b7f45d1ad82.S index e4d25abf71e..9bdd9f166d1 100644 --- a/result/rvb23u64/72828b7f45d1ad82.S +++ b/result/rvb23u64/72828b7f45d1ad82.S @@ -23,8 +23,8 @@ func000000000000000a: # @func000000000000000a ret func0000000000000008: # @func0000000000000008 sh2add a1, a1, a1 - slli a1, a1, 1 - srli a1, a1, 32 + srli a1, a1, 31 + sext.w a1, a1 snez a1, a1 and a0, a0, a1 ret diff --git a/result/rvb23u64/7335bf3a318b2df7.S b/result/rvb23u64/7335bf3a318b2df7.S index 54670ca5649..62e805d2a05 100644 --- a/result/rvb23u64/7335bf3a318b2df7.S +++ b/result/rvb23u64/7335bf3a318b2df7.S @@ -8,10 +8,12 @@ func0000000000000071: # @func0000000000000071 sext.w a2, a2 sh1add a2, a2, a2 sh2add a2, a2, a0 - neg a1, a1 - sh1add a1, a1, a1 - sh2add a1, a1, a2 - xor a0, a0, a1 + neg a3, a1 + slli a3, a3, 3 + slli a1, a1, 2 + sub a3, a3, a1 + add a2, a2, a3 + xor a0, a0, a2 seqz a0, a0 ret func0000000000000074: # @func0000000000000074 diff --git a/result/rvb23u64/735efc635b2eb7d7.S b/result/rvb23u64/735efc635b2eb7d7.S index 413b43fa6ec..96d73230e68 100644 --- a/result/rvb23u64/735efc635b2eb7d7.S +++ b/result/rvb23u64/735efc635b2eb7d7.S @@ -19,9 +19,10 @@ func0000000000000003: # @func0000000000000003 ret func0000000000000002: # @func0000000000000002 andi a0, a0, 1 - neg a2, a2 - sh1add a2, a2, a2 + neg a3, a2 + slli a3, a3, 4 slli a2, a2, 3 - czero.eqz a0, a2, a0 + sub a3, a3, a2 + czero.eqz a0, a3, a0 add a0, a0, a1 ret diff --git a/result/rvb23u64/74f30020549eb9d0.S b/result/rvb23u64/74f30020549eb9d0.S index 4701ca80957..2b1539defc9 100644 --- a/result/rvb23u64/74f30020549eb9d0.S +++ b/result/rvb23u64/74f30020549eb9d0.S @@ -13,8 +13,8 @@ func0000000000000011: # @func0000000000000011 ret func0000000000000001: # @func0000000000000001 sh1add a1, a1, a1 - slli a1, a1, 1 - zext.w a1, a1 + slli a1, a1, 33 + srli a1, a1, 32 sub a0, a0, a1 ret func0000000000000000: # @func0000000000000000 diff --git a/result/rvb23u64/752a2ab21dac91c4.S b/result/rvb23u64/752a2ab21dac91c4.S index afdf0fe7072..a9e1f33502e 100644 --- a/result/rvb23u64/752a2ab21dac91c4.S +++ b/result/rvb23u64/752a2ab21dac91c4.S @@ -2,9 +2,8 @@ func000000000000001f: # @func000000000000001f zext.h a1, a1 or a0, a0, a1 sh2add a0, a0, a0 - li a1, 10 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, 10 ret func0000000000000015: # @func0000000000000015 andi a1, a1, 255 diff --git a/result/rvb23u64/758e0a686118343a.S b/result/rvb23u64/758e0a686118343a.S index b9d9decfa92..327683c6d16 100644 --- a/result/rvb23u64/758e0a686118343a.S +++ b/result/rvb23u64/758e0a686118343a.S @@ -31,8 +31,7 @@ func0000000000000002: # @func0000000000000002 sext.w a0, a0 ret func0000000000000007: # @func0000000000000007 - slli a0, a0, 29 - srli a0, a0, 32 - li a1, 1028 - mul a0, a0, a1 + srli a0, a0, 3 + slli.uw a1, a0, 10 + sh2add.uw a0, a0, a1 ret diff --git a/result/rvb23u64/76387ed0ea45636e.S b/result/rvb23u64/76387ed0ea45636e.S index f34f9e351b9..0af230b5c16 100644 --- a/result/rvb23u64/76387ed0ea45636e.S +++ b/result/rvb23u64/76387ed0ea45636e.S @@ -1,8 +1,8 @@ func0000000000000000: # @func0000000000000000 andi a0, a0, 1 addi a2, a2, -1 - zext.w a2, a2 - sh1add a2, a2, a2 + zext.w a3, a2 + sh1add.uw a2, a2, a3 sh3add a1, a2, a1 czero.nez a0, a1, a0 ret diff --git a/result/rvb23u64/766dcbdd5a3fd339.S b/result/rvb23u64/766dcbdd5a3fd339.S index 9200b211f3f..eb1a3735554 100644 --- a/result/rvb23u64/766dcbdd5a3fd339.S +++ b/result/rvb23u64/766dcbdd5a3fd339.S @@ -6,8 +6,8 @@ func0000000000000001: # @func0000000000000001 li a1, 26 mul a1, a1, a0 srli a1, a1, 8 - sh2add a1, a1, a1 - slli a1, a1, 1 + slli a2, a1, 1 + sh3add a1, a1, a2 sub a0, a0, a1 ori a0, a0, 48 ret diff --git a/result/rvb23u64/76e7791e4f32dc1e.S b/result/rvb23u64/76e7791e4f32dc1e.S index 151378b1ac2..1435c8e6bfc 100644 --- a/result/rvb23u64/76e7791e4f32dc1e.S +++ b/result/rvb23u64/76e7791e4f32dc1e.S @@ -8,7 +8,7 @@ func0000000000000003: # @func0000000000000003 srli a1, a1, 34 sh1add a1, a1, a1 slli a1, a1, 1 - sub a0, a0, a1 + subw a0, a0, a1 sh1add a0, a0, a0 slliw a0, a0, 1 ret diff --git a/result/rvb23u64/76ed40a784f078a2.S b/result/rvb23u64/76ed40a784f078a2.S index 33eb289ee7e..d62ccb2d482 100644 --- a/result/rvb23u64/76ed40a784f078a2.S +++ b/result/rvb23u64/76ed40a784f078a2.S @@ -1,8 +1,8 @@ func0000000000000007: # @func0000000000000007 andi a1, a1, 1 czero.nez a1, a2, a1 - zext.w a0, a0 - sh1add a0, a0, a0 + zext.w a2, a0 + sh1add.uw a0, a0, a2 sh2add a0, a0, a1 addi a0, a0, 32 ret diff --git a/result/rvb23u64/7797a2d391ce2f87.S b/result/rvb23u64/7797a2d391ce2f87.S index 2260d0919cb..8d29649d29b 100644 --- a/result/rvb23u64/7797a2d391ce2f87.S +++ b/result/rvb23u64/7797a2d391ce2f87.S @@ -13,10 +13,10 @@ func000000000000001e: # @func000000000000001e sh2add a3, a3, a3 sh1add a3, a3, a4 sh2add a2, a2, a2 - slli a2, a2, 1 + slli a4, a2, 1 + sh1add a0, a2, a0 + sltu a0, a0, a4 add a1, a1, a3 - add a0, a0, a2 - sltu a0, a0, a2 add a0, a0, a1 li a1, 0 ret diff --git a/result/rvb23u64/78478f7b9d285d5b.S b/result/rvb23u64/78478f7b9d285d5b.S index be2b5c239d4..10d63439429 100644 --- a/result/rvb23u64/78478f7b9d285d5b.S +++ b/result/rvb23u64/78478f7b9d285d5b.S @@ -15,8 +15,8 @@ func000000000000001e: # @func000000000000001e ret func000000000000000b: # @func000000000000000b sh3add a1, a1, a1 - li a2, 7 - sh2add a1, a1, a2 + slli a1, a1, 2 + addi a1, a1, 7 andi a1, a1, -8 add a0, a0, a1 ret diff --git a/result/rvb23u64/78b275f71734de95.S b/result/rvb23u64/78b275f71734de95.S index b3609fb5372..4df837f98fa 100644 --- a/result/rvb23u64/78b275f71734de95.S +++ b/result/rvb23u64/78b275f71734de95.S @@ -9,7 +9,8 @@ func0000000000000029: # @func0000000000000029 addi a0, a0, 1 srli a1, a0, 63 add a0, a0, a1 - srai a0, a0, 1 - sh1add a0, a0, a0 + srai a1, a0, 1 + andi a0, a0, -2 + add a0, a0, a1 slli a0, a0, 3 ret diff --git a/result/rvb23u64/793c11ee86690b97.S b/result/rvb23u64/793c11ee86690b97.S index 1c29a3dcc7c..5de77c3c68c 100644 --- a/result/rvb23u64/793c11ee86690b97.S +++ b/result/rvb23u64/793c11ee86690b97.S @@ -6,7 +6,7 @@ func0000000000000003: # @func0000000000000003 mulhu a1, a1, a2 srli a1, a1, 33 sh1add a1, a1, a1 - sub a0, a0, a1 + subw a0, a0, a1 sh2add a0, a0, a0 slliw a0, a0, 1 ret diff --git a/result/rvb23u64/798e71c1a7071d00.S b/result/rvb23u64/798e71c1a7071d00.S index d26a6ff78ff..0524aa25ed8 100644 --- a/result/rvb23u64/798e71c1a7071d00.S +++ b/result/rvb23u64/798e71c1a7071d00.S @@ -1,13 +1,13 @@ func0000000000000002: # @func0000000000000002 sh1add a0, a0, a0 - li a1, 5 - sh1add a0, a0, a1 + slli a0, a0, 1 + addi a0, a0, 5 bset a0, zero, a0 ret func0000000000000000: # @func0000000000000000 sh1add a0, a0, a0 - li a1, 3 - sh1add a0, a0, a1 + slli a0, a0, 1 + addi a0, a0, 3 li a1, 7 sllw a0, a1, a0 ret diff --git a/result/rvb23u64/7a1198b0f1537d57.S b/result/rvb23u64/7a1198b0f1537d57.S index 8c9dc820c96..c32fe86fa93 100644 --- a/result/rvb23u64/7a1198b0f1537d57.S +++ b/result/rvb23u64/7a1198b0f1537d57.S @@ -8,8 +8,9 @@ func0000000000000029: # @func0000000000000029 addi a0, a0, 1 srli a1, a0, 63 add a0, a0, a1 - srai a0, a0, 1 - sh1add a0, a0, a0 + srai a1, a0, 1 + andi a0, a0, -2 + add a0, a0, a1 slli a0, a0, 3 ret func0000000000000009: # @func0000000000000009 diff --git a/result/rvb23u64/7a2c8ed0dddeb6e2.S b/result/rvb23u64/7a2c8ed0dddeb6e2.S index 5beea6afbea..450c8fee703 100644 --- a/result/rvb23u64/7a2c8ed0dddeb6e2.S +++ b/result/rvb23u64/7a2c8ed0dddeb6e2.S @@ -3,8 +3,8 @@ func0000000000000013: # @func0000000000000013 li a1, 6 minu a0, a0, a1 sh2add a0, a0, a0 - slli a0, a0, 3 - andi a0, a0, 248 + slli a0, a0, 59 + srli a0, a0, 56 addi a0, a0, 19 andi a0, a0, 496 ret diff --git a/result/rvb23u64/7a6d11ca94322e1e.S b/result/rvb23u64/7a6d11ca94322e1e.S index d9ad89839f4..6a75529e8c2 100644 --- a/result/rvb23u64/7a6d11ca94322e1e.S +++ b/result/rvb23u64/7a6d11ca94322e1e.S @@ -5,6 +5,7 @@ func0000000000000007: # @func0000000000000007 seqz a2, a2 addi a2, a2, 1 czero.eqz a1, a2, a1 - sh2add a1, a1, a1 - sh3add a0, a1, a0 + slli a2, a1, 5 + sh3add a1, a1, a2 + add a0, a0, a1 ret diff --git a/result/rvb23u64/7b44015b4c1c3c3c.S b/result/rvb23u64/7b44015b4c1c3c3c.S index 5604c57d074..ebc92fd851e 100644 --- a/result/rvb23u64/7b44015b4c1c3c3c.S +++ b/result/rvb23u64/7b44015b4c1c3c3c.S @@ -1,12 +1,16 @@ func0000000000000017: # @func0000000000000017 slli a2, a2, 35 srli a2, a2, 35 - neg a2, a2 - sh1add a2, a2, a2 - sh2add a0, a2, a0 - neg a1, a1 - sh1add a1, a1, a1 - sh2add a0, a1, a0 + neg a3, a2 + slli a3, a3, 3 + slli a2, a2, 2 + sub a0, a0, a2 + add a0, a0, a3 + neg a2, a1 + slli a2, a2, 3 + slli a1, a1, 2 + sub a2, a2, a1 + add a0, a0, a2 ret func0000000000000014: # @func0000000000000014 lui a3, 4 diff --git a/result/rvb23u64/7b857f0cccd7a23b.S b/result/rvb23u64/7b857f0cccd7a23b.S index 87c073a76ea..dd5611dfc58 100644 --- a/result/rvb23u64/7b857f0cccd7a23b.S +++ b/result/rvb23u64/7b857f0cccd7a23b.S @@ -21,7 +21,8 @@ func000000000000000c: # @func000000000000000c li a2, 103 mul a1, a1, a2 bexti a2, a1, 15 - srli a1, a1, 10 + srai a1, a1, 8 + srli a1, a1, 2 add a1, a1, a2 sh2add a1, a1, a1 slli a1, a1, 1 diff --git a/result/rvb23u64/7c783ec24f76e21e.S b/result/rvb23u64/7c783ec24f76e21e.S index 7620cef572c..8052a780a32 100644 --- a/result/rvb23u64/7c783ec24f76e21e.S +++ b/result/rvb23u64/7c783ec24f76e21e.S @@ -51,11 +51,11 @@ func00000000000000ff: # @func00000000000000ff ret func0000000000000030: # @func0000000000000030 srliw a2, a2, 4 + sh2add a2, a2, a2 li a3, 100 mul a1, a1, a3 add a0, a0, a1 - sh2add a1, a2, a2 - sh1add a0, a1, a0 + sh1add a0, a2, a0 sext.w a0, a0 ret func0000000000000095: # @func0000000000000095 diff --git a/result/rvb23u64/7c8d88ab620087e1.S b/result/rvb23u64/7c8d88ab620087e1.S index b18aa8829af..e733c2e4d02 100644 --- a/result/rvb23u64/7c8d88ab620087e1.S +++ b/result/rvb23u64/7c8d88ab620087e1.S @@ -25,8 +25,8 @@ func00000000000000f5: # @func00000000000000f5 ret func00000000000000ff: # @func00000000000000ff sh2add a1, a1, a1 - slli a0, a0, 5 - sh3add a0, a1, a0 + sh2add a0, a0, a1 + slli a0, a0, 3 addi a0, a0, 52 ret func00000000000000f4: # @func00000000000000f4 @@ -67,8 +67,8 @@ func0000000000000075: # @func0000000000000075 ret func00000000000000cc: # @func00000000000000cc sh1add a1, a1, a1 - slli a1, a1, 2 - sh2add a0, a0, a1 + slli a0, a0, 2 + sh2add a0, a1, a0 addiw a0, a0, 144 ret func0000000000000040: # @func0000000000000040 @@ -79,7 +79,7 @@ func0000000000000040: # @func0000000000000040 ret func0000000000000030: # @func0000000000000030 sh1add a1, a1, a1 - slli a1, a1, 2 - sh2add a0, a0, a1 + slli a0, a0, 2 + sh2add a0, a1, a0 addi a0, a0, 1664 ret diff --git a/result/rvb23u64/7c905a4502ec59b0.S b/result/rvb23u64/7c905a4502ec59b0.S index f59a438c540..a4bdcb30cab 100644 --- a/result/rvb23u64/7c905a4502ec59b0.S +++ b/result/rvb23u64/7c905a4502ec59b0.S @@ -1,6 +1,7 @@ func0000000000000040: # @func0000000000000040 - srli a1, a1, 4 - sh2add a1, a1, a1 + srli a2, a1, 4 + srli a1, a1, 2 + add a1, a1, a2 sh2add a0, a1, a0 sext.w a0, a0 ret diff --git a/result/rvb23u64/7ccdd9565e9fbb52.S b/result/rvb23u64/7ccdd9565e9fbb52.S index 22922d165a8..ddbd8f33acc 100644 --- a/result/rvb23u64/7ccdd9565e9fbb52.S +++ b/result/rvb23u64/7ccdd9565e9fbb52.S @@ -39,15 +39,15 @@ func0000000000000000: # @func0000000000000000 slli a0, a3, 1 ret func00000000000000d5: # @func00000000000000d5 + sh2add a2, a2, a2 add a0, a0, a1 - sh2add a1, a2, a2 - sh1add a0, a1, a0 + sh1add a0, a2, a0 slliw a0, a0, 6 ret func00000000000000d7: # @func00000000000000d7 + sh2add a2, a2, a2 add a0, a0, a1 - sh2add a1, a2, a2 - sh1add a0, a1, a0 + sh1add a0, a2, a0 slliw a0, a0, 4 ret func0000000000000010: # @func0000000000000010 diff --git a/result/rvb23u64/7cdb8802c4757464.S b/result/rvb23u64/7cdb8802c4757464.S index ab16775971a..1ae28d4bb1d 100644 --- a/result/rvb23u64/7cdb8802c4757464.S +++ b/result/rvb23u64/7cdb8802c4757464.S @@ -5,8 +5,8 @@ func000000000000000b: # @func000000000000000b sh2add a0, a1, a0 ret func0000000000000001: # @func0000000000000001 - li a3, 136 - mul a2, a2, a3 + slli a3, a2, 7 + sh3add a2, a2, a3 addw a1, a1, a2 sh2add a0, a1, a0 ret @@ -22,8 +22,8 @@ func0000000000000009: # @func0000000000000009 sh2add a0, a1, a0 ret func000000000000000a: # @func000000000000000a - li a3, 66 - mul a2, a2, a3 + slli a3, a2, 6 + sh1add a2, a2, a3 addw a1, a1, a2 sh3add a0, a1, a0 ret diff --git a/result/rvb23u64/7ce26e9b8ccfe19a.S b/result/rvb23u64/7ce26e9b8ccfe19a.S index 412bc7a4580..6024d28d15e 100644 --- a/result/rvb23u64/7ce26e9b8ccfe19a.S +++ b/result/rvb23u64/7ce26e9b8ccfe19a.S @@ -24,11 +24,11 @@ func000000000000000b: # @func000000000000000b ret func0000000000000003: # @func0000000000000003 addi a2, a2, -1 - zext.w a2, a2 - li a3, 344 - mul a1, a1, a3 + zext.w a3, a2 + li a4, 344 + mul a1, a1, a4 add a0, a0, a1 - sh1add a1, a2, a2 + sh1add.uw a1, a2, a3 sh3add a0, a1, a0 addi a0, a0, 104 ret diff --git a/result/rvb23u64/7dc351569ae6e8c4.S b/result/rvb23u64/7dc351569ae6e8c4.S index 39b45714fa4..95a6bd7bb7b 100644 --- a/result/rvb23u64/7dc351569ae6e8c4.S +++ b/result/rvb23u64/7dc351569ae6e8c4.S @@ -1,8 +1,8 @@ func0000000000000000: # @func0000000000000000 sh1add a0, a0, a0 - slli a0, a0, 2 - sraiw a1, a0, 31 + slli a1, a0, 2 + sraiw a1, a1, 31 srliw a1, a1, 29 - add a0, a0, a1 + sh2add a0, a0, a1 sraiw a0, a0, 3 ret diff --git a/result/rvb23u64/7e87efb86a1ae720.S b/result/rvb23u64/7e87efb86a1ae720.S index cd89f58db83..8c1d7cdd664 100644 --- a/result/rvb23u64/7e87efb86a1ae720.S +++ b/result/rvb23u64/7e87efb86a1ae720.S @@ -1,7 +1,7 @@ func0000000000000034: # @func0000000000000034 sh1add a0, a0, a0 - li a1, 6 - sh1add a0, a0, a1 + slli a0, a0, 1 + addi a0, a0, 6 ret func0000000000000000: # @func0000000000000000 addi a0, a0, 1 @@ -9,6 +9,6 @@ func0000000000000000: # @func0000000000000000 ret func0000000000000014: # @func0000000000000014 sh2add a0, a0, a0 - li a1, 10 - sh1add a0, a0, a1 + slli a0, a0, 1 + addi a0, a0, 10 ret diff --git a/result/rvb23u64/7f391ba57acc023f.S b/result/rvb23u64/7f391ba57acc023f.S index 712f80056ff..61b597b7a2f 100644 --- a/result/rvb23u64/7f391ba57acc023f.S +++ b/result/rvb23u64/7f391ba57acc023f.S @@ -17,7 +17,7 @@ func000000000000007f: # @func000000000000007f func000000000000001f: # @func000000000000001f addi a1, a1, -48 andi a1, a1, 255 - andi a0, a0, 255 sh2add a1, a1, a1 + andi a0, a0, 255 sh1add a0, a1, a0 ret diff --git a/result/rvb23u64/7f3a8b6a62646292.S b/result/rvb23u64/7f3a8b6a62646292.S index 5317fee868c..c1db099bacf 100644 --- a/result/rvb23u64/7f3a8b6a62646292.S +++ b/result/rvb23u64/7f3a8b6a62646292.S @@ -36,8 +36,8 @@ func0000000000000054: # @func0000000000000054 ret func00000000000000a8: # @func00000000000000a8 sh1add a1, a1, a1 - li a2, 24 - sh3add a1, a1, a2 + slli a1, a1, 3 + addi a1, a1, 24 sltu a0, a0, a1 ret func0000000000000001: # @func0000000000000001 @@ -56,16 +56,15 @@ func00000000000000f5: # @func00000000000000f5 ret func00000000000000f4: # @func00000000000000f4 sh1add a1, a1, a1 - li a2, 3 - sh1add a1, a1, a2 + slli a1, a1, 1 + addi a1, a1, 3 sltu a0, a1, a0 ret func0000000000000075: # @func0000000000000075 sext.w a0, a0 sh1add a1, a1, a1 - li a2, 6 - sh1add a1, a1, a2 - sext.w a1, a1 + slli a1, a1, 1 + addiw a1, a1, 6 sltu a0, a0, a1 xori a0, a0, 1 ret @@ -107,8 +106,8 @@ func0000000000000006: # @func0000000000000006 ret func00000000000000f8: # @func00000000000000f8 sh1add a1, a1, a1 - li a2, 132 - sh2add a1, a1, a2 + slli a1, a1, 2 + addi a1, a1, 132 sltu a0, a0, a1 ret func00000000000000f1: # @func00000000000000f1 @@ -122,9 +121,8 @@ func00000000000000f1: # @func00000000000000f1 func0000000000000004: # @func0000000000000004 sext.w a0, a0 sh2add a1, a1, a1 - li a2, 10 - sh2add a1, a1, a2 - sext.w a1, a1 + slli a1, a1, 2 + addiw a1, a1, 10 sltu a0, a1, a0 ret func000000000000000a: # @func000000000000000a diff --git a/result/rvb23u64/7f5331b61d6e3cf2.S b/result/rvb23u64/7f5331b61d6e3cf2.S index 022ac048a1f..32fe2b51c14 100644 --- a/result/rvb23u64/7f5331b61d6e3cf2.S +++ b/result/rvb23u64/7f5331b61d6e3cf2.S @@ -21,8 +21,8 @@ func0000000000000017: # @func0000000000000017 mulhu a1, a1, a2 srli a1, a1, 3 addi a1, a1, -2 - srli a1, a1, 1 - sh1add a1, a1, a1 + srli a2, a1, 1 + add a1, a1, a2 sh2add a0, a1, a0 ret func0000000000000014: # @func0000000000000014 @@ -34,7 +34,8 @@ func0000000000000014: # @func0000000000000014 mulhu a1, a1, a2 srli a1, a1, 4 addi a1, a1, -2 - srli a1, a1, 1 - sh1add a1, a1, a1 + srli a2, a1, 1 + andi a1, a1, -2 + add a1, a1, a2 sh3add a0, a1, a0 ret diff --git a/result/rvb23u64/7fd91528b87810dc.S b/result/rvb23u64/7fd91528b87810dc.S index e06d5d73a35..c0246e4d168 100644 --- a/result/rvb23u64/7fd91528b87810dc.S +++ b/result/rvb23u64/7fd91528b87810dc.S @@ -6,8 +6,8 @@ func000000000000000c: # @func000000000000000c addi a0, a0, 56 ret func000000000000000f: # @func000000000000000f - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh2add a0, a1, a0 addi a0, a0, 4 ret diff --git a/result/rvb23u64/7feaefba53892e18.S b/result/rvb23u64/7feaefba53892e18.S index 4ff4edbc93f..68ae4bcc582 100644 --- a/result/rvb23u64/7feaefba53892e18.S +++ b/result/rvb23u64/7feaefba53892e18.S @@ -3,7 +3,7 @@ func0000000000000013: # @func0000000000000013 li a1, 6 minu a0, a0, a1 sh2add a0, a0, a0 - slli a0, a0, 3 - andi a0, a0, 248 + slli a0, a0, 59 + srli a0, a0, 56 addi a0, a0, 19 ret diff --git a/result/rvb23u64/8089dc0b111cccc4.S b/result/rvb23u64/8089dc0b111cccc4.S index 8a83fb3bffa..42c6e0baabc 100644 --- a/result/rvb23u64/8089dc0b111cccc4.S +++ b/result/rvb23u64/8089dc0b111cccc4.S @@ -7,7 +7,8 @@ func0000000000000007: # @func0000000000000007 zext.h a1, a1 addi a1, a1, -20 seqz a1, a1 - sh2add a1, a1, a1 - sh3add a0, a1, a0 + slli a2, a1, 5 + sh3add a1, a1, a2 + add a0, a0, a1 addi a0, a0, 40 ret diff --git a/result/rvb23u64/811cee6d2237d5d1.S b/result/rvb23u64/811cee6d2237d5d1.S index 048d45d1b81..743837c6ea6 100644 --- a/result/rvb23u64/811cee6d2237d5d1.S +++ b/result/rvb23u64/811cee6d2237d5d1.S @@ -29,10 +29,10 @@ func000000000000001d: # @func000000000000001d slli a2, a1, 32 add a1, a1, a2 mul a0, a0, a1 - zext.w a0, a0 - sh1add a0, a0, a0 - li a1, -12 - sh2add a0, a0, a1 + zext.w a1, a0 + sh1add.uw a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, -12 ret .LCPI3_0: .quad 3074457345618258603 # 0x2aaaaaaaaaaaaaab @@ -43,8 +43,8 @@ func000000000000000d: # @func000000000000000d srli a1, a0, 63 srli a0, a0, 1 add a0, a0, a1 - zext.w a0, a0 - sh1add a0, a0, a0 - li a1, -12 - sh2add a0, a0, a1 + zext.w a1, a0 + sh1add.uw a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, -12 ret diff --git a/result/rvb23u64/818aa9d9b7d04476.S b/result/rvb23u64/818aa9d9b7d04476.S index f20f06c75de..dd4fcb2b250 100644 --- a/result/rvb23u64/818aa9d9b7d04476.S +++ b/result/rvb23u64/818aa9d9b7d04476.S @@ -6,8 +6,8 @@ func00000000000000c4: # @func00000000000000c4 sltu a0, a0, a1 ret func0000000000000071: # @func0000000000000071 - zext.w a2, a2 - sh1add a2, a2, a2 + zext.w a3, a2 + sh1add.uw a2, a2, a3 sh3add a1, a2, a1 addi a1, a1, 8 addi a0, a0, 24 @@ -107,8 +107,8 @@ func0000000000000048: # @func0000000000000048 sltu a0, a1, a0 ret func0000000000000004: # @func0000000000000004 - zext.w a2, a2 - sh2add a2, a2, a2 + zext.w a3, a2 + sh2add.uw a2, a2, a3 sh3add a1, a2, a1 addi a1, a1, 120 addi a0, a0, 40 diff --git a/result/rvb23u64/81c91263e1534aa0.S b/result/rvb23u64/81c91263e1534aa0.S index f679598bb58..581fa3cc949 100644 --- a/result/rvb23u64/81c91263e1534aa0.S +++ b/result/rvb23u64/81c91263e1534aa0.S @@ -5,8 +5,9 @@ func0000000000000003: # @func0000000000000003 func0000000000000001: # @func0000000000000001 srli a2, a1, 63 add a1, a1, a2 - srai a1, a1, 1 - sh1add a1, a1, a1 + srli a2, a1, 1 + andi a1, a1, -2 + add a1, a1, a2 sh2add a0, a1, a0 addi a0, a0, 4 ret diff --git a/result/rvb23u64/82105d1596f1d6f5.S b/result/rvb23u64/82105d1596f1d6f5.S index b5e8cec9693..ff33202aea2 100644 --- a/result/rvb23u64/82105d1596f1d6f5.S +++ b/result/rvb23u64/82105d1596f1d6f5.S @@ -3,8 +3,8 @@ func000000000000000f: # @func000000000000000f li a1, 240 minu a0, a0, a1 sh1add a0, a0, a0 - li a1, 8 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 8 ret func0000000000000000: # @func0000000000000000 sext.w a0, a0 diff --git a/result/rvb23u64/82899218367a6820.S b/result/rvb23u64/82899218367a6820.S index 7d80427fea7..79bfccf9967 100644 --- a/result/rvb23u64/82899218367a6820.S +++ b/result/rvb23u64/82899218367a6820.S @@ -1,8 +1,8 @@ func0000000000000005: # @func0000000000000005 sext.w a0, a0 sh1add a0, a0, a0 - li a1, -12 - sh2add a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, -12 ret func0000000000000007: # @func0000000000000007 sext.b a0, a0 diff --git a/result/rvb23u64/828f4327415c1240.S b/result/rvb23u64/828f4327415c1240.S index e04d0f69010..d0cba3e3598 100644 --- a/result/rvb23u64/828f4327415c1240.S +++ b/result/rvb23u64/828f4327415c1240.S @@ -6,6 +6,7 @@ func0000000000000007: # @func0000000000000007 slli a2, a1, 32 add a1, a1, a2 mul a0, a0, a1 - slli.uw a0, a0, 2 - sh1add a0, a0, a0 + zext.w a1, a0 + sh1add.uw a0, a0, a1 + slli a0, a0, 2 ret diff --git a/result/rvb23u64/82f36d776eae78e1.S b/result/rvb23u64/82f36d776eae78e1.S index d728cd60b43..0f35970ff40 100644 --- a/result/rvb23u64/82f36d776eae78e1.S +++ b/result/rvb23u64/82f36d776eae78e1.S @@ -8,8 +8,9 @@ func0000000000000053: # @func0000000000000053 addi a1, a1, 1 srli a2, a1, 63 add a1, a1, a2 - srai a1, a1, 1 - sh1add a1, a1, a1 + srli a2, a1, 1 + andi a1, a1, -2 + add a1, a1, a2 sh3add a0, a1, a0 ret func0000000000000013: # @func0000000000000013 diff --git a/result/rvb23u64/831df76105874dd7.S b/result/rvb23u64/831df76105874dd7.S index 37de007cbdd..dc51508ae3f 100644 --- a/result/rvb23u64/831df76105874dd7.S +++ b/result/rvb23u64/831df76105874dd7.S @@ -1,6 +1,6 @@ func0000000000000003: # @func0000000000000003 - zext.w a2, a2 - sh3add a2, a2, a2 + zext.w a3, a2 + sh3add.uw a2, a2, a3 sh3add a1, a2, a1 sh3add a0, a0, a1 addi a0, a0, 8 diff --git a/result/rvb23u64/83400e0af8cf0924.S b/result/rvb23u64/83400e0af8cf0924.S index 9e192ce83bd..51dd72e94b1 100644 --- a/result/rvb23u64/83400e0af8cf0924.S +++ b/result/rvb23u64/83400e0af8cf0924.S @@ -1,6 +1,6 @@ func0000000000000014: # @func0000000000000014 - li a3, 66 - mul a2, a2, a3 + slli a3, a2, 6 + sh1add a2, a2, a3 addw a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 8 diff --git a/result/rvb23u64/835092ca28a7f505.S b/result/rvb23u64/835092ca28a7f505.S index 85a619125f0..2344291fee3 100644 --- a/result/rvb23u64/835092ca28a7f505.S +++ b/result/rvb23u64/835092ca28a7f505.S @@ -18,9 +18,8 @@ func0000000000000005: # @func0000000000000005 ret func0000000000000006: # @func0000000000000006 sub a1, a1, a0 - srai a1, a1, 5 - li a0, 136 - mul a0, a0, a1 + srai a0, a1, 2 + sh2add a0, a1, a0 ret func0000000000000001: # @func0000000000000001 sub a1, a1, a0 diff --git a/result/rvb23u64/837b10dc07a1e24d.S b/result/rvb23u64/837b10dc07a1e24d.S index 25523d76f30..fc810979c76 100644 --- a/result/rvb23u64/837b10dc07a1e24d.S +++ b/result/rvb23u64/837b10dc07a1e24d.S @@ -1,6 +1,6 @@ func0000000000000001: # @func0000000000000001 - li a3, 136 - mul a2, a2, a3 + slli a3, a2, 7 + sh3add a2, a2, a3 add a1, a1, a2 addiw a1, a1, 4 sh2add a0, a1, a0 diff --git a/result/rvb23u64/83d58908e9ae2a9f.S b/result/rvb23u64/83d58908e9ae2a9f.S index f4f10e06acb..1fc4650f825 100644 --- a/result/rvb23u64/83d58908e9ae2a9f.S +++ b/result/rvb23u64/83d58908e9ae2a9f.S @@ -2,7 +2,7 @@ func0000000000000009: # @func0000000000000009 sub a1, a1, a2 srai a1, a1, 1 sh1add a0, a0, a0 - slli a0, a0, 1 - zext.w a0, a0 + slli a0, a0, 33 + srli a0, a0, 32 sub a0, a0, a1 ret diff --git a/result/rvb23u64/83ddeea711e88791.S b/result/rvb23u64/83ddeea711e88791.S index 1a95479bb0e..2615696a342 100644 --- a/result/rvb23u64/83ddeea711e88791.S +++ b/result/rvb23u64/83ddeea711e88791.S @@ -1,7 +1,7 @@ func0000000000000016: # @func0000000000000016 sh1add a1, a1, a1 - li a2, -24 - sh3add a1, a1, a2 + slli a1, a1, 3 + addi a1, a1, -24 lui a2, 699051 addiw a2, a2, -1365 slli a3, a2, 32 diff --git a/result/rvb23u64/84013717986bd879.S b/result/rvb23u64/84013717986bd879.S index 3d4c04a71f2..7cb86982288 100644 --- a/result/rvb23u64/84013717986bd879.S +++ b/result/rvb23u64/84013717986bd879.S @@ -10,8 +10,8 @@ func0000000000000003: # @func0000000000000003 ret func0000000000000001: # @func0000000000000001 sh2add a0, a0, a0 - slli a0, a0, 1 - zext.w a0, a0 + slli a0, a0, 33 + srli a0, a0, 32 lui a1, 322639 addiw a1, a1, -945 mul a0, a0, a1 diff --git a/result/rvb23u64/841d851d3402a453.S b/result/rvb23u64/841d851d3402a453.S index 6d3e5871db9..3de53b493e8 100644 --- a/result/rvb23u64/841d851d3402a453.S +++ b/result/rvb23u64/841d851d3402a453.S @@ -1,16 +1,16 @@ func00000000000000f8: # @func00000000000000f8 sh2add a1, a1, a1 - slli a1, a1, 1 srliw a0, a0, 1 - sh1add a0, a0, a1 + slli a0, a0, 1 + sh1add a0, a1, a0 srli a0, a0, 31 snez a0, a0 ret func00000000000000f4: # @func00000000000000f4 sh2add a1, a1, a1 - slli a1, a1, 1 srliw a0, a0, 1 - sh1add a0, a0, a1 + slli a0, a0, 1 + sh1add a0, a1, a0 srli a0, a0, 31 seqz a0, a0 ret diff --git a/result/rvb23u64/84e01665274591b8.S b/result/rvb23u64/84e01665274591b8.S index eea57f4de3e..435c5ff80cb 100644 --- a/result/rvb23u64/84e01665274591b8.S +++ b/result/rvb23u64/84e01665274591b8.S @@ -9,10 +9,10 @@ func000000000000007c: # @func000000000000007c add a0, a0, a1 ret func000000000000003c: # @func000000000000003c - zext.w a1, a1 - sh1add a1, a1, a1 - li a2, 39 - sh3add a1, a1, a2 + zext.w a2, a1 + sh1add.uw a1, a1, a2 + slli a1, a1, 3 + addi a1, a1, 39 andi a1, a1, -8 add a0, a0, a1 ret diff --git a/result/rvb23u64/857c789e20c6763e.S b/result/rvb23u64/857c789e20c6763e.S index e08fe4ae635..0cc2b4c97ad 100644 --- a/result/rvb23u64/857c789e20c6763e.S +++ b/result/rvb23u64/857c789e20c6763e.S @@ -47,8 +47,8 @@ func000000000000007b: # @func000000000000007b ret func0000000000000003: # @func0000000000000003 sh2add a1, a1, a1 - li a2, -40 - sh3add a1, a1, a2 + slli a1, a1, 3 + addi a1, a1, -40 lui a2, 838861 addiw a2, a2, -819 slli a3, a2, 32 diff --git a/result/rvb23u64/85d8c532b963bd45.S b/result/rvb23u64/85d8c532b963bd45.S index e59be44dfbe..d31f2d3ee5e 100644 --- a/result/rvb23u64/85d8c532b963bd45.S +++ b/result/rvb23u64/85d8c532b963bd45.S @@ -16,7 +16,8 @@ func000000000000000c: # @func000000000000000c li a3, 103 mul a2, a2, a3 bexti a3, a2, 15 - srli a2, a2, 10 + srai a2, a2, 8 + srli a2, a2, 2 add a2, a2, a3 sh2add a2, a2, a2 slli a2, a2, 1 diff --git a/result/rvb23u64/8631ff6fb644bcba.S b/result/rvb23u64/8631ff6fb644bcba.S index 2fdd6ca12fb..73cf06e7fb8 100644 --- a/result/rvb23u64/8631ff6fb644bcba.S +++ b/result/rvb23u64/8631ff6fb644bcba.S @@ -1,7 +1,7 @@ func000000000000000d: # @func000000000000000d - slli a0, a0, 34 - srli a0, a0, 32 - sh1add a0, a0, a0 - li a1, -12 - sh2add a0, a0, a1 + slli a0, a0, 2 + zext.w a1, a0 + sh1add.uw a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, -12 ret diff --git a/result/rvb23u64/869e3f2f3fe1b671.S b/result/rvb23u64/869e3f2f3fe1b671.S index c63ff727270..bbdbee9035d 100644 --- a/result/rvb23u64/869e3f2f3fe1b671.S +++ b/result/rvb23u64/869e3f2f3fe1b671.S @@ -1,8 +1,8 @@ func0000000000000039: # @func0000000000000039 sh3add a1, a0, a0 - slli a1, a1, 2 addi a0, a0, 38 zext.h a0, a0 - zext.h a1, a1 + slli a1, a1, 50 + srli a1, a1, 48 divuw a0, a1, a0 ret diff --git a/result/rvb23u64/869e809e69e6bfa3.S b/result/rvb23u64/869e809e69e6bfa3.S index 411d9e3c578..a31c1198c65 100644 --- a/result/rvb23u64/869e809e69e6bfa3.S +++ b/result/rvb23u64/869e809e69e6bfa3.S @@ -1,14 +1,14 @@ func000000000000000a: # @func000000000000000a srliw a1, a0, 4 - andi a0, a0, 15 sh2add a1, a1, a1 + andi a0, a0, 15 sh1add a0, a1, a0 sext.w a0, a0 ret func000000000000000f: # @func000000000000000f srliw a1, a0, 4 - andi a0, a0, 15 sh2add a1, a1, a1 + andi a0, a0, 15 sh1add a0, a1, a0 sext.w a0, a0 ret diff --git a/result/rvb23u64/8734747705f300cd.S b/result/rvb23u64/8734747705f300cd.S index 29cb02af111..38755f14ea8 100644 --- a/result/rvb23u64/8734747705f300cd.S +++ b/result/rvb23u64/8734747705f300cd.S @@ -9,7 +9,7 @@ func0000000000000005: # @func0000000000000005 sext.w a1, a1 max a1, a1, zero addi a1, a1, -1 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh2add a0, a1, a0 ret diff --git a/result/rvb23u64/87d6b0c8b921c5bc.S b/result/rvb23u64/87d6b0c8b921c5bc.S index 9e43c0e920c..19967e99dcb 100644 --- a/result/rvb23u64/87d6b0c8b921c5bc.S +++ b/result/rvb23u64/87d6b0c8b921c5bc.S @@ -7,8 +7,8 @@ func0000000000000000: # @func0000000000000000 mulhu a0, a0, a1 srli a0, a0, 5 sh2add a0, a0, a0 - li a1, -8 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, -8 ret func0000000000000005: # @func0000000000000005 addi a0, a0, -12 @@ -19,8 +19,8 @@ func0000000000000005: # @func0000000000000005 mulhu a0, a0, a1 srli a0, a0, 3 sh1add a0, a0, a0 - li a1, 12 - sh2add a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, 12 ret func0000000000000007: # @func0000000000000007 addi a0, a0, -12 @@ -31,6 +31,6 @@ func0000000000000007: # @func0000000000000007 mulhu a0, a0, a1 srli a0, a0, 3 sh1add a0, a0, a0 - li a1, 12 - sh2add a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, 12 ret diff --git a/result/rvb23u64/87ec62dadf2520f0.S b/result/rvb23u64/87ec62dadf2520f0.S index 4b0c90f79d8..bcbf3bab372 100644 --- a/result/rvb23u64/87ec62dadf2520f0.S +++ b/result/rvb23u64/87ec62dadf2520f0.S @@ -1,7 +1,7 @@ func000000000000000d: # @func000000000000000d sh1add a0, a0, a0 - li a1, -24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, -24 lui a1, 699051 addiw a1, a1, -1365 slli a2, a1, 32 @@ -14,8 +14,8 @@ func000000000000000d: # @func000000000000000d ret func0000000000000008: # @func0000000000000008 sh1add a0, a0, a0 - li a1, -24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, -24 lui a1, 699051 addiw a1, a1, -1365 slli a2, a1, 32 @@ -28,8 +28,8 @@ func0000000000000008: # @func0000000000000008 ret func0000000000000000: # @func0000000000000000 sh1add a0, a0, a0 - li a1, -24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, -24 lui a1, 699051 addiw a1, a1, -1365 slli a2, a1, 32 @@ -42,8 +42,8 @@ func0000000000000000: # @func0000000000000000 ret func0000000000000005: # @func0000000000000005 sh1add a0, a0, a0 - li a1, -24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, -24 lui a1, 699051 addiw a1, a1, -1365 slli a2, a1, 32 diff --git a/result/rvb23u64/8802bfc13984e1d0.S b/result/rvb23u64/8802bfc13984e1d0.S index 49b94aa1861..8ed6225b398 100644 --- a/result/rvb23u64/8802bfc13984e1d0.S +++ b/result/rvb23u64/8802bfc13984e1d0.S @@ -19,9 +19,9 @@ func00000000000001ef: # @func00000000000001ef ret func00000000000001ec: # @func00000000000001ec sh2add a2, a2, a2 - slli a2, a2, 1 - srli a2, a2, 32 + srli a2, a2, 31 sh2add a1, a1, a1 - sh1add a1, a1, a2 + slli a1, a1, 1 + add.uw a1, a2, a1 add a0, a0, a1 ret diff --git a/result/rvb23u64/887d3a02755c8538.S b/result/rvb23u64/887d3a02755c8538.S index 1675e9f5da4..1cb7ce0c208 100644 --- a/result/rvb23u64/887d3a02755c8538.S +++ b/result/rvb23u64/887d3a02755c8538.S @@ -56,7 +56,7 @@ func0000000000000051: # @func0000000000000051 add a1, a1, a2 slli a2, a1, 3 add a0, a0, a1 - sub a0, a0, a2 + subw a0, a0, a2 sh1add a0, a0, a0 slliw a0, a0, 2 ret diff --git a/result/rvb23u64/89069b38be1eddf6.S b/result/rvb23u64/89069b38be1eddf6.S index be7b140997b..7ffc83bfe1e 100644 --- a/result/rvb23u64/89069b38be1eddf6.S +++ b/result/rvb23u64/89069b38be1eddf6.S @@ -11,8 +11,8 @@ func000000000000001e: # @func000000000000001e func000000000000003e: # @func000000000000003e sext.w a1, a1 sh2add a1, a1, a1 - li a2, 47 - sh3add a1, a1, a2 + slli a1, a1, 3 + addi a1, a1, 47 lui a2, 917504 srli a2, a2, 26 and a1, a1, a2 diff --git a/result/rvb23u64/89278ceab85a95d4.S b/result/rvb23u64/89278ceab85a95d4.S index 96f85f61056..fb675efeb21 100644 --- a/result/rvb23u64/89278ceab85a95d4.S +++ b/result/rvb23u64/89278ceab85a95d4.S @@ -1,6 +1,6 @@ func0000000000000071: # @func0000000000000071 - zext.w a2, a2 - sh1add a2, a2, a2 + zext.w a3, a2 + sh1add.uw a2, a2, a3 sh1add a1, a2, a1 xor a0, a0, a1 seqz a0, a0 diff --git a/result/rvb23u64/8953254d0fbd901b.S b/result/rvb23u64/8953254d0fbd901b.S index 6983e94bec2..4254b43709a 100644 --- a/result/rvb23u64/8953254d0fbd901b.S +++ b/result/rvb23u64/8953254d0fbd901b.S @@ -11,9 +11,8 @@ func0000000000000014: # @func0000000000000014 func0000000000000001: # @func0000000000000001 andi a2, a2, 255 subw a1, a1, a2 - zext.w a1, a1 - li a2, 68 - mul a1, a1, a2 + slli.uw a2, a1, 6 + sh2add.uw a1, a1, a2 add a0, a0, a1 ret func0000000000000004: # @func0000000000000004 diff --git a/result/rvb23u64/89c5f9753f4a3696.S b/result/rvb23u64/89c5f9753f4a3696.S index 642bda20cc8..9b81d882446 100644 --- a/result/rvb23u64/89c5f9753f4a3696.S +++ b/result/rvb23u64/89c5f9753f4a3696.S @@ -5,8 +5,8 @@ func000000000000001d: # @func000000000000001d ret func0000000000000001: # @func0000000000000001 sh1add a0, a0, a0 - slli a0, a0, 3 - zext.w a0, a0 + slli a0, a0, 35 + srli a0, a0, 32 neg a0, a0 ret func0000000000000011: # @func0000000000000011 diff --git a/result/rvb23u64/89d2020b809a0a8e.S b/result/rvb23u64/89d2020b809a0a8e.S index 23f77861ffb..a4f4ce150e0 100644 --- a/result/rvb23u64/89d2020b809a0a8e.S +++ b/result/rvb23u64/89d2020b809a0a8e.S @@ -26,8 +26,9 @@ func0000000000000007: # @func0000000000000007 slli a2, a1, 32 add a1, a1, a2 mul a0, a0, a1 - slli.uw a0, a0, 2 - sh1add a0, a0, a0 + zext.w a1, a0 + sh1add.uw a0, a0, a1 + slli a0, a0, 2 ret .LCPI3_0: .quad 3074457345618258603 # 0x2aaaaaaaaaaaaaab @@ -38,6 +39,7 @@ func0000000000000003: # @func0000000000000003 srli a1, a0, 63 srli a0, a0, 1 add a0, a0, a1 - slli.uw a0, a0, 2 - sh1add a0, a0, a0 + zext.w a1, a0 + sh1add.uw a0, a0, a1 + slli a0, a0, 2 ret diff --git a/result/rvb23u64/89d519a1a4449da9.S b/result/rvb23u64/89d519a1a4449da9.S index d590c6c2823..846bb39b421 100644 --- a/result/rvb23u64/89d519a1a4449da9.S +++ b/result/rvb23u64/89d519a1a4449da9.S @@ -1,8 +1,8 @@ func0000000000000034: # @func0000000000000034 - li a2, 9 - slli a2, a2, 34 slli a1, a1, 33 - mulhu a1, a1, a2 + srli a1, a1, 33 + sh3add a1, a1, a1 + slli a1, a1, 3 sltu a0, a0, a1 ret func0000000000000016: # @func0000000000000016 diff --git a/result/rvb23u64/89e75912d8787693.S b/result/rvb23u64/89e75912d8787693.S index 31b4d85d4b0..4650fea5d35 100644 --- a/result/rvb23u64/89e75912d8787693.S +++ b/result/rvb23u64/89e75912d8787693.S @@ -1,6 +1,7 @@ func0000000000000002: # @func0000000000000002 - srli a1, a1, 2 - sh2add a1, a1, a1 + srli a2, a1, 2 + andi a1, a1, -4 + add a1, a1, a2 sh2add a0, a1, a0 addi a0, a0, 2047 addi a0, a0, 873 diff --git a/result/rvb23u64/8a8b251835f9e97a.S b/result/rvb23u64/8a8b251835f9e97a.S index 189341f3316..edb03b7e3d3 100644 --- a/result/rvb23u64/8a8b251835f9e97a.S +++ b/result/rvb23u64/8a8b251835f9e97a.S @@ -18,9 +18,8 @@ func0000000000000005: # @func0000000000000005 ret func0000000000000006: # @func0000000000000006 sub a0, a0, a1 - srai a0, a0, 5 - li a1, 136 - mul a0, a0, a1 + srai a1, a0, 2 + sh2add a0, a0, a1 ret func0000000000000001: # @func0000000000000001 sub a0, a0, a1 diff --git a/result/rvb23u64/8b043ea9a564225e.S b/result/rvb23u64/8b043ea9a564225e.S index 88e7f5008be..9face1c4559 100644 --- a/result/rvb23u64/8b043ea9a564225e.S +++ b/result/rvb23u64/8b043ea9a564225e.S @@ -10,8 +10,9 @@ func0000000000000011: # @func0000000000000011 func000000000000002c: # @func000000000000002c slt a1, a1, a2 xori a1, a1, 1 - sh2add a1, a1, a1 - sh3add a0, a1, a0 + slli a2, a1, 5 + sh3add a1, a1, a2 + add a0, a0, a1 ret func0000000000000005: # @func0000000000000005 sext.w a2, a2 diff --git a/result/rvb23u64/8bfa9d970ee8da41.S b/result/rvb23u64/8bfa9d970ee8da41.S index ee6967d0496..e0019300537 100644 --- a/result/rvb23u64/8bfa9d970ee8da41.S +++ b/result/rvb23u64/8bfa9d970ee8da41.S @@ -1,10 +1,10 @@ func000000000000001f: # @func000000000000001f sh1add a0, a0, a0 - li a1, 3 - sh1add a0, a0, a1 + slli a0, a0, 1 + addi a0, a0, 3 ret func0000000000000001: # @func0000000000000001 sh1add a0, a0, a0 - li a1, 3 - sh1add a0, a0, a1 + slli a0, a0, 1 + addi a0, a0, 3 ret diff --git a/result/rvb23u64/8c14d7949feb05f5.S b/result/rvb23u64/8c14d7949feb05f5.S index 2f22fb97a41..de3550b91b9 100644 --- a/result/rvb23u64/8c14d7949feb05f5.S +++ b/result/rvb23u64/8c14d7949feb05f5.S @@ -1,7 +1,7 @@ func000000000000001e: # @func000000000000001e sh1add a1, a1, a1 - li a2, 13 - sh1add a1, a1, a2 + slli a1, a1, 1 + addi a1, a1, 13 srlw a0, a0, a1 ret func0000000000000000: # @func0000000000000000 diff --git a/result/rvb23u64/8c665fc915ae7376.S b/result/rvb23u64/8c665fc915ae7376.S index 2fa7bd3f217..e1bb366d86d 100644 --- a/result/rvb23u64/8c665fc915ae7376.S +++ b/result/rvb23u64/8c665fc915ae7376.S @@ -1,8 +1,8 @@ func0000000000000015: # @func0000000000000015 addiw a0, a0, -1 sh2add a0, a0, a0 - li a1, 120 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 120 ret func0000000000000005: # @func0000000000000005 addiw a0, a0, 1 diff --git a/result/rvb23u64/8cee009e25832cc2.S b/result/rvb23u64/8cee009e25832cc2.S index 56edf883b70..86176b33583 100644 --- a/result/rvb23u64/8cee009e25832cc2.S +++ b/result/rvb23u64/8cee009e25832cc2.S @@ -11,8 +11,10 @@ func0000000000000000: # @func0000000000000000 sh2add a0, a0, a1 ret func0000000000000003: # @func0000000000000003 - sraiw a2, a2, 1 - sh1add a2, a2, a2 + sext.w a2, a2 + srli a3, a2, 1 + andi a2, a2, -2 + add a2, a2, a3 sh2add a1, a2, a1 sh1add a0, a0, a0 sh2add a0, a0, a1 diff --git a/result/rvb23u64/8d53ae41abb6204d.S b/result/rvb23u64/8d53ae41abb6204d.S index defd5f00867..7c9b863b42f 100644 --- a/result/rvb23u64/8d53ae41abb6204d.S +++ b/result/rvb23u64/8d53ae41abb6204d.S @@ -37,15 +37,15 @@ func000000000000001e: # @func000000000000001e and a0, a0, a1 ret func0000000000000037: # @func0000000000000037 + sh2add a2, a2, a2 add a0, a0, a1 - sh2add a1, a2, a2 - sh1add a0, a1, a0 + sh1add a0, a2, a0 andi a0, a0, 63 ret func0000000000000035: # @func0000000000000035 + sh2add a2, a2, a2 add a0, a0, a1 - sh2add a1, a2, a2 - sh1add a0, a1, a0 + sh1add a0, a2, a0 andi a0, a0, 63 ret func000000000000000c: # @func000000000000000c diff --git a/result/rvb23u64/8da59df1ae96c1ee.S b/result/rvb23u64/8da59df1ae96c1ee.S index cb85e5e3604..74fc4c4e5cd 100644 --- a/result/rvb23u64/8da59df1ae96c1ee.S +++ b/result/rvb23u64/8da59df1ae96c1ee.S @@ -1,21 +1,25 @@ func000000000000000f: # @func000000000000000f slli a2, a2, 35 srli a2, a2, 35 - neg a2, a2 + neg a3, a2 sh1add a1, a1, a1 sh2add a0, a1, a0 - sh1add a1, a2, a2 - sh2add a0, a1, a0 + slli a3, a3, 3 + slli a2, a2, 2 + sub a0, a0, a2 + add a0, a0, a3 addi a0, a0, 8 ret func000000000000000e: # @func000000000000000e slli a2, a2, 35 srli a2, a2, 35 - neg a2, a2 + neg a3, a2 sh1add a1, a1, a1 sh2add a0, a1, a0 - sh1add a1, a2, a2 - sh2add a0, a1, a0 + slli a3, a3, 3 + slli a2, a2, 2 + sub a0, a0, a2 + add a0, a0, a3 addi a0, a0, 8 ret func0000000000000007: # @func0000000000000007 diff --git a/result/rvb23u64/8dbae49f470f8221.S b/result/rvb23u64/8dbae49f470f8221.S index 461066e5eec..4aaacc297f7 100644 --- a/result/rvb23u64/8dbae49f470f8221.S +++ b/result/rvb23u64/8dbae49f470f8221.S @@ -23,15 +23,14 @@ func0000000000000054: # @func0000000000000054 ret func00000000000000d4: # @func00000000000000d4 sh1add a0, a0, a0 - li a1, -12 - sh2add a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, -12 sltiu a0, a0, 384 ret func0000000000000004: # @func0000000000000004 sh2add a0, a0, a0 - li a1, 16 - sh3add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 3 + addiw a0, a0, 16 lui a1, 1 addiw a1, a1, 1 sltu a0, a0, a1 @@ -79,8 +78,8 @@ func00000000000000d1: # @func00000000000000d1 ret func0000000000000058: # @func0000000000000058 sh1add a0, a0, a0 - li a1, 8 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 8 sltiu a0, a0, 1025 xori a0, a0, 1 ret diff --git a/result/rvb23u64/8e09b1780a8bb91f.S b/result/rvb23u64/8e09b1780a8bb91f.S index c031d3ebc2d..bdf8e14b178 100644 --- a/result/rvb23u64/8e09b1780a8bb91f.S +++ b/result/rvb23u64/8e09b1780a8bb91f.S @@ -5,8 +5,8 @@ func0000000000000006: # @func0000000000000006 add a0, a0, a1 ret func0000000000000007: # @func0000000000000007 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh2add a0, a1, a0 ret func000000000000000f: # @func000000000000000f diff --git a/result/rvb23u64/8e13c73988fa1416.S b/result/rvb23u64/8e13c73988fa1416.S index 0bdce05c4a8..0cf26eb883c 100644 --- a/result/rvb23u64/8e13c73988fa1416.S +++ b/result/rvb23u64/8e13c73988fa1416.S @@ -4,7 +4,7 @@ func0000000000000001: # @func0000000000000001 addiw a2, a2, -1365 mul a1, a1, a2 srli a2, a1, 63 - srli a1, a1, 33 + srai a1, a1, 33 add a1, a1, a2 sh1add a1, a1, a1 slli a1, a1, 2 diff --git a/result/rvb23u64/8e2f7ac16c8586ea.S b/result/rvb23u64/8e2f7ac16c8586ea.S index 6f84ab88085..5fb2099bc41 100644 --- a/result/rvb23u64/8e2f7ac16c8586ea.S +++ b/result/rvb23u64/8e2f7ac16c8586ea.S @@ -26,48 +26,48 @@ func00000000000001ff: # @func00000000000001ff ret func00000000000000d5: # @func00000000000000d5 add a1, a1, a2 - andi a0, a0, 255 sh2add a1, a1, a1 + andi a0, a0, 255 sh1add a0, a1, a0 sh2add a0, a0, a0 slliw a0, a0, 1 ret func00000000000000d4: # @func00000000000000d4 add a1, a1, a2 - sext.w a0, a0 sh2add a1, a1, a1 + sext.w a0, a0 sh1add a0, a1, a0 sh2add a0, a0, a0 slli a0, a0, 1 ret func00000000000000c0: # @func00000000000000c0 add a1, a1, a2 - sext.w a0, a0 sh2add a1, a1, a1 + sext.w a0, a0 sh1add a0, a1, a0 sh2add a0, a0, a0 slli a0, a0, 1 ret func0000000000000042: # @func0000000000000042 add a1, a1, a2 - sext.w a0, a0 sh2add a1, a1, a1 + sext.w a0, a0 sh1add a0, a1, a0 sh2add a0, a0, a0 slli a0, a0, 1 ret func00000000000001fe: # @func00000000000001fe add a1, a1, a2 - andi a0, a0, 255 sh2add a1, a1, a1 + andi a0, a0, 255 sh1add a0, a1, a0 sh2add a0, a0, a0 slliw a0, a0, 1 ret func00000000000001ea: # @func00000000000001ea add a1, a1, a2 - andi a0, a0, 255 sh2add a1, a1, a1 + andi a0, a0, 255 sh1add a0, a1, a0 sh2add a0, a0, a0 slli a0, a0, 1 diff --git a/result/rvb23u64/8e96cd3ed5022588.S b/result/rvb23u64/8e96cd3ed5022588.S index 5031c33b0dd..4793495cef2 100644 --- a/result/rvb23u64/8e96cd3ed5022588.S +++ b/result/rvb23u64/8e96cd3ed5022588.S @@ -5,8 +5,9 @@ func0000000000000007: # @func0000000000000007 func0000000000000003: # @func0000000000000003 srli a3, a2, 63 add a2, a2, a3 - srai a2, a2, 1 - sh1add a2, a2, a2 + srli a3, a2, 1 + andi a2, a2, -2 + add a2, a2, a3 sh2add a1, a2, a1 sh2add a0, a0, a1 ret diff --git a/result/rvb23u64/8ebc15f7bcf9c1c8.S b/result/rvb23u64/8ebc15f7bcf9c1c8.S index 93f0226ae85..1cd36316b26 100644 --- a/result/rvb23u64/8ebc15f7bcf9c1c8.S +++ b/result/rvb23u64/8ebc15f7bcf9c1c8.S @@ -15,8 +15,8 @@ func0000000000000000: # @func0000000000000000 ret func0000000000000004: # @func0000000000000004 subw a1, a1, a2 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 8 ret diff --git a/result/rvb23u64/8ebf9d5e8e4a30c5.S b/result/rvb23u64/8ebf9d5e8e4a30c5.S index f88bba29b59..8e8998dd579 100644 --- a/result/rvb23u64/8ebf9d5e8e4a30c5.S +++ b/result/rvb23u64/8ebf9d5e8e4a30c5.S @@ -4,8 +4,9 @@ func0000000000000004: # @func0000000000000004 slli a3, a2, 32 add a2, a2, a3 mulhu a1, a1, a2 - srli a1, a1, 1 - sh1add a1, a1, a1 + srli a2, a1, 1 + andi a1, a1, -2 + add a1, a1, a2 sh2add a0, a1, a0 ret func0000000000000007: # @func0000000000000007 @@ -36,8 +37,9 @@ func0000000000000006: # @func0000000000000006 slli a3, a2, 32 add a2, a2, a3 mulhu a1, a1, a2 - srli a1, a1, 1 - sh1add a1, a1, a1 + srli a2, a1, 1 + andi a1, a1, -2 + add a1, a1, a2 sh2add a0, a1, a0 ret .LCPI4_0: diff --git a/result/rvb23u64/8ec8762c0eeb022e.S b/result/rvb23u64/8ec8762c0eeb022e.S index 0ccac874b98..7be3d05c3e5 100644 --- a/result/rvb23u64/8ec8762c0eeb022e.S +++ b/result/rvb23u64/8ec8762c0eeb022e.S @@ -27,8 +27,8 @@ func0000000000000003: # @func0000000000000003 ret func0000000000000000: # @func0000000000000000 add a1, a1, a2 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 16 ret diff --git a/result/rvb23u64/8fb6d62395ec570e.S b/result/rvb23u64/8fb6d62395ec570e.S index 4baf0d8960e..49644d291c1 100644 --- a/result/rvb23u64/8fb6d62395ec570e.S +++ b/result/rvb23u64/8fb6d62395ec570e.S @@ -7,10 +7,10 @@ func0000000000000000: # @func0000000000000000 ret func000000000000003f: # @func000000000000003f li a1, 2 - subw a0, a1, a0 - sh2add a0, a0, a0 - sh1add a0, a0, a1 - sext.w a0, a0 + subw a1, a1, a0 + sh2add a0, a1, a1 + slli a0, a0, 1 + addiw a0, a0, 2 ret func000000000000003d: # @func000000000000003d li a1, 5 diff --git a/result/rvb23u64/8ffa0dba9c805757.S b/result/rvb23u64/8ffa0dba9c805757.S index 9ed36650cf5..94b6de6bf84 100644 --- a/result/rvb23u64/8ffa0dba9c805757.S +++ b/result/rvb23u64/8ffa0dba9c805757.S @@ -31,8 +31,8 @@ func0000000000000070: # @func0000000000000070 ret func000000000000004f: # @func000000000000004f sh2add a2, a2, a2 - slli a2, a2, 1 - andi a2, a2, 254 + slli a2, a2, 57 + srli a2, a2, 56 add a0, a0, a1 addw a0, a0, a2 ret diff --git a/result/rvb23u64/9097585419cdccb2.S b/result/rvb23u64/9097585419cdccb2.S index 304c240791f..abf07efdd43 100644 --- a/result/rvb23u64/9097585419cdccb2.S +++ b/result/rvb23u64/9097585419cdccb2.S @@ -8,9 +8,11 @@ func0000000000000007: # @func0000000000000007 andi a0, a0, 63 ret func0000000000000003: # @func0000000000000003 - neg a1, a1 - sh1add a1, a1, a1 - sh2add a0, a1, a0 + neg a2, a1 + slli a2, a2, 3 + slli a1, a1, 2 + sub a0, a0, a1 + add a0, a0, a2 andi a0, a0, -2 ret func0000000000000001: # @func0000000000000001 diff --git a/result/rvb23u64/91069adffcdb3b1b.S b/result/rvb23u64/91069adffcdb3b1b.S index be1a9f4aa7c..78d8ea683fc 100644 --- a/result/rvb23u64/91069adffcdb3b1b.S +++ b/result/rvb23u64/91069adffcdb3b1b.S @@ -1,14 +1,14 @@ func0000000000000004: # @func0000000000000004 sh3add a1, a1, a1 - slli a1, a1, 2 zext.h a0, a0 - zext.h a1, a1 + slli a1, a1, 50 + srli a1, a1, 48 divuw a0, a1, a0 ret func0000000000000000: # @func0000000000000000 sh2add a1, a1, a1 - slli a1, a1, 1 zext.h a0, a0 - zext.h a1, a1 + slli a1, a1, 49 + srli a1, a1, 48 divuw a0, a1, a0 ret diff --git a/result/rvb23u64/91b585bacfee53b7.S b/result/rvb23u64/91b585bacfee53b7.S index 8364f2edbe3..afe953004d3 100644 --- a/result/rvb23u64/91b585bacfee53b7.S +++ b/result/rvb23u64/91b585bacfee53b7.S @@ -8,6 +8,6 @@ func0000000000000000: # @func0000000000000000 sext.w a0, a0 max a0, a0, zero sh1add a0, a0, a0 - slli a0, a0, 2 - zext.w a0, a0 + slli a0, a0, 34 + srli a0, a0, 32 ret diff --git a/result/rvb23u64/92bbcbe246f82537.S b/result/rvb23u64/92bbcbe246f82537.S index d3adc7fa5ff..b9fdea7b85c 100644 --- a/result/rvb23u64/92bbcbe246f82537.S +++ b/result/rvb23u64/92bbcbe246f82537.S @@ -1,5 +1,5 @@ func00000000000000a0: # @func00000000000000a0 - sub a1, a1, a2 + subw a1, a1, a2 sh2add a1, a1, a1 slli a1, a1, 1 divw a0, a1, a0 diff --git a/result/rvb23u64/92eed5d0b98509a5.S b/result/rvb23u64/92eed5d0b98509a5.S index 01629fd468f..6c34fa966d3 100644 --- a/result/rvb23u64/92eed5d0b98509a5.S +++ b/result/rvb23u64/92eed5d0b98509a5.S @@ -16,8 +16,8 @@ func0000000000000006: # @func0000000000000006 sext.w a0, a0 sraiw a2, a1, 31 srliw a2, a2, 27 - addw a1, a1, a2 - srli a1, a1, 5 + add a1, a1, a2 + sraiw a1, a1, 5 sh3add a1, a1, a1 slliw a1, a1, 3 slt a0, a0, a1 diff --git a/result/rvb23u64/9379a019f8de0a6d.S b/result/rvb23u64/9379a019f8de0a6d.S index 80f2976052e..ff397ed4821 100644 --- a/result/rvb23u64/9379a019f8de0a6d.S +++ b/result/rvb23u64/9379a019f8de0a6d.S @@ -1,7 +1,7 @@ func000000000000000f: # @func000000000000000f zext.h a2, a2 - zext.h a1, a1 sh2add a2, a2, a2 + zext.h a1, a1 sh1add a1, a2, a1 remuw a0, a1, a0 ret diff --git a/result/rvb23u64/93eb4a10b035d52d.S b/result/rvb23u64/93eb4a10b035d52d.S index 865755d52e9..1028614baa5 100644 --- a/result/rvb23u64/93eb4a10b035d52d.S +++ b/result/rvb23u64/93eb4a10b035d52d.S @@ -1,6 +1,7 @@ func0000000000000009: # @func0000000000000009 - srli a2, a2, 1 - sh1add a2, a2, a2 + srli a3, a2, 1 + andi a2, a2, -2 + add a2, a2, a3 sh3add a1, a2, a1 sub a0, a0, a1 srai a0, a0, 3 diff --git a/result/rvb23u64/946a6d411129f82c.S b/result/rvb23u64/946a6d411129f82c.S index c79ebcc3f55..44da303d826 100644 --- a/result/rvb23u64/946a6d411129f82c.S +++ b/result/rvb23u64/946a6d411129f82c.S @@ -38,8 +38,7 @@ func0000000000000007: # @func0000000000000007 func0000000000000009: # @func0000000000000009 andi a2, a2, 1 add a1, a1, a2 - zext.w a1, a1 - li a2, 136 - mul a1, a1, a2 + slli.uw a2, a1, 7 + sh3add.uw a1, a1, a2 add a0, a0, a1 ret diff --git a/result/rvb23u64/94c1395837381cb6.S b/result/rvb23u64/94c1395837381cb6.S index e71f50eb2be..372d525e0be 100644 --- a/result/rvb23u64/94c1395837381cb6.S +++ b/result/rvb23u64/94c1395837381cb6.S @@ -1,7 +1,7 @@ func0000000000000003: # @func0000000000000003 add.uw a0, a2, a0 - zext.w a1, a1 - sh2add a1, a1, a1 + zext.w a2, a1 + sh2add.uw a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 16 ret diff --git a/result/rvb23u64/956fc81a20d9cc15.S b/result/rvb23u64/956fc81a20d9cc15.S index 457c566d6bb..d21a91e9661 100644 --- a/result/rvb23u64/956fc81a20d9cc15.S +++ b/result/rvb23u64/956fc81a20d9cc15.S @@ -16,8 +16,8 @@ func0000000000000003: # @func0000000000000003 func0000000000000008: # @func0000000000000008 mul a0, a0, a1 sh1add a0, a0, a0 - slli a0, a0, 1 - zext.w a0, a0 + slli a0, a0, 33 + srli a0, a0, 32 ret func000000000000000b: # @func000000000000000b mul a0, a0, a1 diff --git a/result/rvb23u64/958152c09b6065d9.S b/result/rvb23u64/958152c09b6065d9.S index 8f805723f3a..d6b83fe3a1f 100644 --- a/result/rvb23u64/958152c09b6065d9.S +++ b/result/rvb23u64/958152c09b6065d9.S @@ -42,7 +42,8 @@ func0000000000000016: # @func0000000000000016 li a2, 43 mul a1, a1, a2 bexti a2, a1, 15 - srli a1, a1, 10 + srai a1, a1, 8 + srli a1, a1, 2 add a1, a1, a2 sh1add a1, a1, a1 slli a1, a1, 3 diff --git a/result/rvb23u64/95ac8391ca034f61.S b/result/rvb23u64/95ac8391ca034f61.S index b5ac435a411..d91226e524b 100644 --- a/result/rvb23u64/95ac8391ca034f61.S +++ b/result/rvb23u64/95ac8391ca034f61.S @@ -11,9 +11,9 @@ func000000000000001e: # @func000000000000001e addi a0, a0, 1 ret func000000000000000f: # @func000000000000000f + sh1add a2, a2, a2 add a0, a0, a1 - sh1add a1, a2, a2 - sh2add a0, a1, a0 + sh2add a0, a2, a0 addi a0, a0, 36 ret func000000000000000c: # @func000000000000000c @@ -29,15 +29,15 @@ func000000000000001c: # @func000000000000001c addi a0, a0, 8 ret func0000000000000008: # @func0000000000000008 + sh2add a2, a2, a2 add a0, a0, a1 - sh2add a1, a2, a2 - sh2add a0, a1, a0 + sh2add a0, a2, a0 addi a0, a0, -8 ret func0000000000000004: # @func0000000000000004 + sh2add a2, a2, a2 sh2add a0, a1, a0 - sh2add a1, a2, a2 - sh3add a0, a1, a0 + sh3add a0, a2, a0 addi a0, a0, 676 ret func0000000000000018: # @func0000000000000018 @@ -55,9 +55,9 @@ func000000000000001f: # @func000000000000001f addi a0, a0, 8 ret func0000000000000019: # @func0000000000000019 + sh3add a2, a2, a2 add a0, a0, a1 - sh3add a1, a2, a2 - sh1add a0, a1, a0 + sh1add a0, a2, a0 addi a0, a0, 2 ret func0000000000000003: # @func0000000000000003 diff --git a/result/rvb23u64/965583ee0a651c62.S b/result/rvb23u64/965583ee0a651c62.S index 974c02b1ef0..1763c665af0 100644 --- a/result/rvb23u64/965583ee0a651c62.S +++ b/result/rvb23u64/965583ee0a651c62.S @@ -46,16 +46,16 @@ func0000000000000006: # @func0000000000000006 ret func0000000000000005: # @func0000000000000005 addi a1, a1, -1 - zext.w a1, a1 - sh2add a1, a1, a1 + zext.w a2, a1 + sh2add.uw a1, a1, a2 sh2add a0, a1, a0 addi a0, a0, 8 ret func0000000000000004: # @func0000000000000004 li a2, -2 add a1, a1, a2 - zext.w a1, a1 - sh2add a1, a1, a1 + zext.w a2, a1 + sh2add.uw a1, a1, a2 sh2add a0, a1, a0 addi a0, a0, 16 ret diff --git a/result/rvb23u64/966e880779f5d33f.S b/result/rvb23u64/966e880779f5d33f.S index 00633c4c8f6..d0422666f22 100644 --- a/result/rvb23u64/966e880779f5d33f.S +++ b/result/rvb23u64/966e880779f5d33f.S @@ -13,8 +13,8 @@ func00000000000000e4: # @func00000000000000e4 andi a0, a0, 255 add a1, a1, a2 sh2add a1, a1, a1 - li a2, 32 - sh1add a1, a1, a2 + slli a1, a1, 1 + addi a1, a1, 32 andi a1, a1, 254 sltu a0, a0, a1 ret diff --git a/result/rvb23u64/96917cf0a2e0d363.S b/result/rvb23u64/96917cf0a2e0d363.S index b2f17f1db79..1b18550d313 100644 --- a/result/rvb23u64/96917cf0a2e0d363.S +++ b/result/rvb23u64/96917cf0a2e0d363.S @@ -20,8 +20,9 @@ func0000000000000007: # @func0000000000000007 ret func0000000000000003: # @func0000000000000003 slli a0, a0, 1 - slli.uw a0, a0, 2 - sh1add a0, a0, a0 + zext.w a1, a0 + sh1add.uw a0, a0, a1 + slli a0, a0, 2 ret func0000000000000001: # @func0000000000000001 slli a0, a0, 33 diff --git a/result/rvb23u64/96efe1c2ce8305a0.S b/result/rvb23u64/96efe1c2ce8305a0.S index f3d5501122a..58cd70c85c4 100644 --- a/result/rvb23u64/96efe1c2ce8305a0.S +++ b/result/rvb23u64/96efe1c2ce8305a0.S @@ -1,14 +1,14 @@ func0000000000000007: # @func0000000000000007 sext.w a2, a2 + sh1add a2, a2, a2 add a0, a0, a1 - sh1add a1, a2, a2 - sh3add a0, a1, a0 + sh3add a0, a2, a0 ret func0000000000000004: # @func0000000000000004 sext.w a2, a2 + sh2add a2, a2, a2 add a0, a0, a1 - sh2add a1, a2, a2 - sh2add a0, a1, a0 + sh2add a0, a2, a0 ret func0000000000000006: # @func0000000000000006 sext.w a2, a2 diff --git a/result/rvb23u64/974d55cddb4fb780.S b/result/rvb23u64/974d55cddb4fb780.S index 3e8022d374a..06e1b892559 100644 --- a/result/rvb23u64/974d55cddb4fb780.S +++ b/result/rvb23u64/974d55cddb4fb780.S @@ -6,9 +6,9 @@ func0000000000000000: # @func0000000000000000 addi a0, a0, 24 ret func0000000000000003: # @func0000000000000003 - zext.w a2, a2 + zext.w a3, a2 add a0, a0, a1 - sh2add a1, a2, a2 + sh2add.uw a1, a2, a3 sh3add a0, a1, a0 addi a0, a0, 16 ret diff --git a/result/rvb23u64/976821de434aeec3.S b/result/rvb23u64/976821de434aeec3.S index c5c33818f9a..0a176a5db17 100644 --- a/result/rvb23u64/976821de434aeec3.S +++ b/result/rvb23u64/976821de434aeec3.S @@ -16,8 +16,8 @@ func0000000000000068: # @func0000000000000068 ret func0000000000000001: # @func0000000000000001 sh1add a1, a2, a1 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 4 ret diff --git a/result/rvb23u64/9867fd0efd42e297.S b/result/rvb23u64/9867fd0efd42e297.S index 8088ed97e4f..7c23017e2c0 100644 --- a/result/rvb23u64/9867fd0efd42e297.S +++ b/result/rvb23u64/9867fd0efd42e297.S @@ -10,7 +10,6 @@ func0000000000000000: # @func0000000000000000 sext.w a0, a0 max a0, a0, zero sh2add a0, a0, a0 - li a1, 20 - sh2add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 2 + addiw a0, a0, 20 ret diff --git a/result/rvb23u64/98f29df8b0568275.S b/result/rvb23u64/98f29df8b0568275.S index a9d50d03f84..2e95b9a0c82 100644 --- a/result/rvb23u64/98f29df8b0568275.S +++ b/result/rvb23u64/98f29df8b0568275.S @@ -7,7 +7,7 @@ func0000000000000208: # @func0000000000000208 func0000000000000008: # @func0000000000000008 add a1, a1, a2 sh1add a1, a1, a1 - li a2, 12 - sh2add a1, a1, a2 + slli a1, a1, 2 + addi a1, a1, 12 sltu a0, a0, a1 ret diff --git a/result/rvb23u64/993a13215f7720fd.S b/result/rvb23u64/993a13215f7720fd.S index 4dd5fde6c9c..b42990b3f3d 100644 --- a/result/rvb23u64/993a13215f7720fd.S +++ b/result/rvb23u64/993a13215f7720fd.S @@ -5,8 +5,9 @@ func0000000000000000: # @func0000000000000000 mulw a0, a0, a1 ret func0000000000000010: # @func0000000000000010 - srli a0, a0, 4 - sh2add a0, a0, a0 + srli a1, a0, 4 + srli a0, a0, 2 + add a0, a0, a1 slliw a0, a0, 2 ret func0000000000000001: # @func0000000000000001 diff --git a/result/rvb23u64/99917808f1723781.S b/result/rvb23u64/99917808f1723781.S index d41b11aa4aa..cc8041d6915 100644 --- a/result/rvb23u64/99917808f1723781.S +++ b/result/rvb23u64/99917808f1723781.S @@ -1,6 +1,6 @@ func00000000000000c0: # @func00000000000000c0 - zext.w a2, a2 - sh1add a2, a2, a2 + zext.w a3, a2 + sh1add.uw a2, a2, a3 sh2add a1, a2, a1 add a0, a0, a1 ret diff --git a/result/rvb23u64/99d415787cf4e517.S b/result/rvb23u64/99d415787cf4e517.S index ddef8cbe63f..fabb0fd8b81 100644 --- a/result/rvb23u64/99d415787cf4e517.S +++ b/result/rvb23u64/99d415787cf4e517.S @@ -43,26 +43,26 @@ func0000000000000025: # @func0000000000000025 ret func0000000000000010: # @func0000000000000010 add a1, a1, a2 - sext.w a0, a0 sh2add a1, a1, a1 + sext.w a0, a0 sh1add a0, a1, a0 ret func0000000000000068: # @func0000000000000068 add a1, a1, a2 - andi a0, a0, 255 sh2add a1, a1, a1 + andi a0, a0, 255 sh1add a0, a1, a0 sext.w a0, a0 ret func000000000000007a: # @func000000000000007a add a1, a1, a2 - andi a0, a0, 255 sh2add a1, a1, a1 + andi a0, a0, 255 sh1add a0, a1, a0 ret func0000000000000048: # @func0000000000000048 add a1, a1, a2 - andi a0, a0, 255 sh2add a1, a1, a1 + andi a0, a0, 255 sh1add a0, a1, a0 ret diff --git a/result/rvb23u64/99eec76e989cf164.S b/result/rvb23u64/99eec76e989cf164.S index b44a9d9ed8b..6580f8eca8a 100644 --- a/result/rvb23u64/99eec76e989cf164.S +++ b/result/rvb23u64/99eec76e989cf164.S @@ -2,7 +2,7 @@ func0000000000000115: # @func0000000000000115 sext.w a2, a2 sltiu a2, a2, 3 add a0, a0, a1 - sub a0, a0, a2 + subw a0, a0, a2 sh1add a0, a0, a0 slliw a0, a0, 2 ret diff --git a/result/rvb23u64/9a861b01526d01c8.S b/result/rvb23u64/9a861b01526d01c8.S index df50f3854c4..b5928d2783d 100644 --- a/result/rvb23u64/9a861b01526d01c8.S +++ b/result/rvb23u64/9a861b01526d01c8.S @@ -1,9 +1,11 @@ func0000000000000031: # @func0000000000000031 slli a2, a2, 35 srli a2, a2, 35 - neg a2, a2 - sh1add a2, a2, a2 - sh2add a1, a2, a1 + neg a3, a2 + slli a3, a3, 3 + slli a2, a2, 2 + sub a1, a1, a2 + add a1, a1, a3 xor a0, a0, a1 seqz a0, a0 ret diff --git a/result/rvb23u64/9b3246e30247b75f.S b/result/rvb23u64/9b3246e30247b75f.S index 9eddbea63a0..1c8509d6999 100644 --- a/result/rvb23u64/9b3246e30247b75f.S +++ b/result/rvb23u64/9b3246e30247b75f.S @@ -41,8 +41,8 @@ func000000000000007f: # @func000000000000007f ret func0000000000000002: # @func0000000000000002 sh1add a1, a2, a1 - li a2, 136 - mul a1, a1, a2 + slli a2, a1, 7 + sh3add a1, a1, a2 add a0, a0, a1 addi a0, a0, 272 ret diff --git a/result/rvb23u64/9bd0bba068027f08.S b/result/rvb23u64/9bd0bba068027f08.S index cd14ec25536..06665f62bfe 100644 --- a/result/rvb23u64/9bd0bba068027f08.S +++ b/result/rvb23u64/9bd0bba068027f08.S @@ -1,9 +1,11 @@ func0000000000000000: # @func0000000000000000 - neg a2, a2 + neg a3, a2 sh1add a1, a1, a1 sh3add a0, a1, a0 - sh1add a1, a2, a2 - sh3add a0, a1, a0 + slli a3, a3, 4 + slli a2, a2, 3 + sub a3, a3, a2 + add a0, a0, a3 ret func0000000000000003: # @func0000000000000003 add a0, a0, a1 diff --git a/result/rvb23u64/9bfc5e1142916a1a.S b/result/rvb23u64/9bfc5e1142916a1a.S index 75d21c042c0..dee9403ed4f 100644 --- a/result/rvb23u64/9bfc5e1142916a1a.S +++ b/result/rvb23u64/9bfc5e1142916a1a.S @@ -1,7 +1,8 @@ func0000000000000037: # @func0000000000000037 addi a1, a1, 1 - srli a1, a1, 1 - sh1add a1, a1, a1 + srli a2, a1, 1 + andi a1, a1, -2 + add a1, a1, a2 sh3add a0, a1, a0 ret func0000000000000010: # @func0000000000000010 diff --git a/result/rvb23u64/9c15be7444d1f554.S b/result/rvb23u64/9c15be7444d1f554.S index 375a902251b..364da03411e 100644 --- a/result/rvb23u64/9c15be7444d1f554.S +++ b/result/rvb23u64/9c15be7444d1f554.S @@ -16,6 +16,6 @@ func0000000000000001: # @func0000000000000001 func0000000000000018: # @func0000000000000018 mul a0, a0, a1 sh2add a0, a0, a0 - slli a0, a0, 1 - zext.w a0, a0 + slli a0, a0, 33 + srli a0, a0, 32 ret diff --git a/result/rvb23u64/9c664406799aed97.S b/result/rvb23u64/9c664406799aed97.S index 32e814db794..e1387b836c4 100644 --- a/result/rvb23u64/9c664406799aed97.S +++ b/result/rvb23u64/9c664406799aed97.S @@ -7,8 +7,8 @@ func000000000000000c: # @func000000000000000c add a0, a0, a1 ret func000000000000000f: # @func000000000000000f - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh2add a0, a1, a0 addi a0, a0, 4 ret diff --git a/result/rvb23u64/9d2be03ec3c0b178.S b/result/rvb23u64/9d2be03ec3c0b178.S index 6c95f90d90b..9cfad4e6581 100644 --- a/result/rvb23u64/9d2be03ec3c0b178.S +++ b/result/rvb23u64/9d2be03ec3c0b178.S @@ -1,15 +1,14 @@ func0000000000000028: # @func0000000000000028 sh1add a1, a1, a1 - li a2, -6 - sh1add a1, a1, a2 + slli a1, a1, 1 + addi a1, a1, -6 sh1add.uw a0, a1, a0 addi a0, a0, 4 ret func000000000000002c: # @func000000000000002c sh1add a1, a1, a1 - li a2, -6 - sh1add a1, a1, a2 - sext.w a1, a1 + slli a1, a1, 1 + addiw a1, a1, -6 sh1add a0, a1, a0 addi a0, a0, 8 ret diff --git a/result/rvb23u64/9d71166742cbf8f9.S b/result/rvb23u64/9d71166742cbf8f9.S index d143970e8b5..04fcf4456e7 100644 --- a/result/rvb23u64/9d71166742cbf8f9.S +++ b/result/rvb23u64/9d71166742cbf8f9.S @@ -17,31 +17,33 @@ func0000000000000258: # @func0000000000000258 xori a0, a0, 1 ret func00000000000000f4: # @func00000000000000f4 - slli.uw a1, a1, 1 - sh2add a1, a1, a1 - add.uw a0, a0, a1 + zext.w a2, a1 + sh2add.uw a1, a1, a2 + zext.w a0, a0 + sh1add a0, a1, a0 srli a0, a0, 31 seqz a0, a0 ret func00000000000000f8: # @func00000000000000f8 - slli.uw a1, a1, 1 - sh2add a1, a1, a1 - add.uw a0, a0, a1 + zext.w a2, a1 + sh2add.uw a1, a1, a2 + zext.w a0, a0 + sh1add a0, a1, a0 srli a0, a0, 31 snez a0, a0 ret func00000000000003f8: # @func00000000000003f8 andi a1, a1, 255 - andi a0, a0, 255 sh2add a1, a1, a1 + andi a0, a0, 255 sh1add a0, a1, a0 sltiu a0, a0, 60 xori a0, a0, 1 ret func00000000000001f4: # @func00000000000001f4 - zext.w a1, a1 + zext.w a2, a1 + sh2add.uw a1, a1, a2 sext.w a0, a0 - sh2add a1, a1, a1 sh1add a0, a1, a0 srli a0, a0, 32 seqz a0, a0 diff --git a/result/rvb23u64/9e0604f7204b1a8d.S b/result/rvb23u64/9e0604f7204b1a8d.S index d860bb964b1..606156d2f5f 100644 --- a/result/rvb23u64/9e0604f7204b1a8d.S +++ b/result/rvb23u64/9e0604f7204b1a8d.S @@ -1,6 +1,7 @@ func000000000000000e: # @func000000000000000e - srai a1, a1, 3 - sh1add a1, a1, a1 + srli a2, a1, 3 + srli a1, a1, 2 + add a1, a1, a2 sh3add a0, a1, a0 ret func0000000000000006: # @func0000000000000006 @@ -10,13 +11,15 @@ func0000000000000006: # @func0000000000000006 add a0, a0, a1 ret func000000000000000b: # @func000000000000000b - srai a1, a1, 4 - sh3add a1, a1, a1 + srai a2, a1, 4 + srli a1, a1, 1 + add a1, a1, a2 sh2add a0, a1, a0 ret func0000000000000008: # @func0000000000000008 - srai a1, a1, 4 - sh3add a1, a1, a1 + srai a2, a1, 4 + srli a1, a1, 1 + add a1, a1, a2 sh2add a0, a1, a0 ret func0000000000000002: # @func0000000000000002 @@ -30,7 +33,7 @@ func000000000000000a: # @func000000000000000a add a0, a0, a1 ret func0000000000000009: # @func0000000000000009 - srli a1, a1, 3 - sh3add a1, a1, a1 + srli a2, a1, 3 + add a1, a1, a2 sh3add a0, a1, a0 ret diff --git a/result/rvb23u64/9e2997bdfe17b4ad.S b/result/rvb23u64/9e2997bdfe17b4ad.S index dd0951f107a..bac4292034d 100644 --- a/result/rvb23u64/9e2997bdfe17b4ad.S +++ b/result/rvb23u64/9e2997bdfe17b4ad.S @@ -1,8 +1,8 @@ func0000000000000055: # @func0000000000000055 sext.w a1, a1 sh2add a0, a0, a0 - slli a0, a0, 3 - sh2add a0, a1, a0 + sh1add a0, a0, a1 + slli a0, a0, 2 addi a0, a0, 8 ret func00000000000000f4: # @func00000000000000f4 diff --git a/result/rvb23u64/9e2f6ea4bfd74aa3.S b/result/rvb23u64/9e2f6ea4bfd74aa3.S index 37600d2258d..ef0a003c480 100644 --- a/result/rvb23u64/9e2f6ea4bfd74aa3.S +++ b/result/rvb23u64/9e2f6ea4bfd74aa3.S @@ -1,7 +1,7 @@ func0000000000000003: # @func0000000000000003 subw a2, a2, a1 - zext.w a2, a2 - sh3add a1, a2, a2 + zext.w a1, a2 + sh3add.uw a1, a2, a1 sh2add a0, a1, a0 addi a0, a0, 4 ret diff --git a/result/rvb23u64/9e35d9cbc6b4d1c3.S b/result/rvb23u64/9e35d9cbc6b4d1c3.S index 344f71b5d35..599440d5800 100644 --- a/result/rvb23u64/9e35d9cbc6b4d1c3.S +++ b/result/rvb23u64/9e35d9cbc6b4d1c3.S @@ -1,6 +1,6 @@ func0000000000000015: # @func0000000000000015 mul a1, a1, a2 - sub a0, a0, a1 + subw a0, a0, a1 sh2add a0, a0, a0 slliw a0, a0, 1 ret diff --git a/result/rvb23u64/9e7da47154c93cb4.S b/result/rvb23u64/9e7da47154c93cb4.S index bd7a1ada311..ec324a5ce93 100644 --- a/result/rvb23u64/9e7da47154c93cb4.S +++ b/result/rvb23u64/9e7da47154c93cb4.S @@ -1,6 +1,7 @@ func000000000000001c: # @func000000000000001c - srai a2, a2, 32 - sh2add a2, a2, a2 + srai a3, a2, 32 + srai a2, a2, 30 + add a2, a2, a3 sh2add a1, a2, a1 sub a0, a0, a1 addi a0, a0, -20 diff --git a/result/rvb23u64/9e97edb319e58df7.S b/result/rvb23u64/9e97edb319e58df7.S index 7c786c9573a..c0cb6a0933a 100644 --- a/result/rvb23u64/9e97edb319e58df7.S +++ b/result/rvb23u64/9e97edb319e58df7.S @@ -1,6 +1,7 @@ func0000000000000003: # @func0000000000000003 - srli a2, a2, 1 - sh1add a2, a2, a2 + srli a3, a2, 1 + andi a2, a2, -2 + add a2, a2, a3 sh2add a1, a2, a1 sh2add a0, a0, a1 ret diff --git a/result/rvb23u64/9efbb9f399087b0b.S b/result/rvb23u64/9efbb9f399087b0b.S index 48df8722c5f..93b2f508988 100644 --- a/result/rvb23u64/9efbb9f399087b0b.S +++ b/result/rvb23u64/9efbb9f399087b0b.S @@ -39,8 +39,8 @@ func000000000000001c: # @func000000000000001c func0000000000000000: # @func0000000000000000 srli a0, a0, 1 sh2add a0, a0, a0 - li a1, -40 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, -40 lui a1, 838861 addiw a1, a1, -819 slli a2, a1, 32 diff --git a/result/rvb23u64/9f0408167627e820.S b/result/rvb23u64/9f0408167627e820.S index c0b47c3a925..9e6ac68b3e2 100644 --- a/result/rvb23u64/9f0408167627e820.S +++ b/result/rvb23u64/9f0408167627e820.S @@ -13,15 +13,15 @@ func0000000000000008: # @func0000000000000008 ret func0000000000000138: # @func0000000000000138 sh1add a1, a1, a1 - slli a1, a1, 2 - zext.w a1, a1 + slli a1, a1, 34 + srli a1, a1, 32 addi a0, a0, 4 sltu a0, a1, a0 ret func0000000000000031: # @func0000000000000031 sh1add a1, a1, a1 - slli a1, a1, 1 - zext.w a1, a1 + slli a1, a1, 33 + srli a1, a1, 32 addi a0, a0, 8 xor a0, a0, a1 seqz a0, a0 diff --git a/result/rvb23u64/9f55872a48329b8c.S b/result/rvb23u64/9f55872a48329b8c.S index d813c0b6f4e..07e3bad03eb 100644 --- a/result/rvb23u64/9f55872a48329b8c.S +++ b/result/rvb23u64/9f55872a48329b8c.S @@ -25,12 +25,14 @@ func0000000000000000: # @func0000000000000000 sub a0, a0, a2 ret func0000000000000034: # @func0000000000000034 - slli a2, a2, 1 - neg a2, a2 + slli a3, a2, 1 + neg a3, a3 sh2add a1, a1, a1 sh2add a0, a1, a0 - sh2add a1, a2, a2 - sh2add a0, a1, a0 + slli a3, a3, 4 + slli a2, a2, 3 + sub a0, a0, a2 + add a0, a0, a3 ret func0000000000000014: # @func0000000000000014 slli a2, a2, 3 diff --git a/result/rvb23u64/9f59bc7d82cb851b.S b/result/rvb23u64/9f59bc7d82cb851b.S index 3c03a3b12cc..96f9c612e76 100644 --- a/result/rvb23u64/9f59bc7d82cb851b.S +++ b/result/rvb23u64/9f59bc7d82cb851b.S @@ -33,8 +33,7 @@ func000000000000000a: # @func000000000000000a ret func0000000000000026: # @func0000000000000026 sh1add a0, a0, a0 - slli a0, a0, 2 - srli a0, a0, 63 + bexti a0, a0, 61 ret func000000000000000c: # @func000000000000000c slliw a0, a0, 1 diff --git a/result/rvb23u64/9f5bfe290418f0d8.S b/result/rvb23u64/9f5bfe290418f0d8.S index daddf4ce4cc..f8994270ac9 100644 --- a/result/rvb23u64/9f5bfe290418f0d8.S +++ b/result/rvb23u64/9f5bfe290418f0d8.S @@ -12,9 +12,11 @@ func0000000000000011: # @func0000000000000011 ret func000000000000001a: # @func000000000000001a slti a1, a1, 0 - sh2add a3, a1, a1 - sh3add a2, a3, a2 - addi a2, a2, -40 + xori a3, a1, 1 + slli a4, a1, 2 + sub a4, a4, a3 + sh3add a2, a4, a2 + addi a2, a2, -32 czero.eqz a0, a0, a1 czero.nez a1, a2, a1 or a0, a0, a1 diff --git a/result/rvb23u64/9fb33faa36e66e1c.S b/result/rvb23u64/9fb33faa36e66e1c.S index 195a1e69319..57c5f1c127f 100644 --- a/result/rvb23u64/9fb33faa36e66e1c.S +++ b/result/rvb23u64/9fb33faa36e66e1c.S @@ -1,7 +1,7 @@ func0000000000000003: # @func0000000000000003 andi a0, a0, 1 - zext.w a2, a2 - sh1add a2, a2, a2 + zext.w a3, a2 + sh1add.uw a2, a2, a3 sh3add a1, a2, a1 czero.nez a0, a1, a0 addi a0, a0, 8 diff --git a/result/rvb23u64/a00f861f70c2d694.S b/result/rvb23u64/a00f861f70c2d694.S index 264fa4b85e2..2eef569065c 100644 --- a/result/rvb23u64/a00f861f70c2d694.S +++ b/result/rvb23u64/a00f861f70c2d694.S @@ -1,6 +1,6 @@ func000000000000002d: # @func000000000000002d sh2add a1, a1, a1 - slli a1, a1, 3 - sh2add a0, a0, a1 + sh1add a0, a1, a0 + slli a0, a0, 2 addi a0, a0, 8 ret diff --git a/result/rvb23u64/a01b37d22414521f.S b/result/rvb23u64/a01b37d22414521f.S index 749e5883ade..7ccf9dc4f09 100644 --- a/result/rvb23u64/a01b37d22414521f.S +++ b/result/rvb23u64/a01b37d22414521f.S @@ -4,8 +4,8 @@ func0000000000000003: # @func0000000000000003 sh2add a0, a0, a1 ret func0000000000000000: # @func0000000000000000 - zext.w a2, a2 - sh3add a2, a2, a2 + zext.w a3, a2 + sh3add.uw a2, a2, a3 sh3add a1, a2, a1 slli a0, a0, 4 add a0, a0, a1 diff --git a/result/rvb23u64/a03e6ac745737b19.S b/result/rvb23u64/a03e6ac745737b19.S index 74cf367a78f..6c95ff5b973 100644 --- a/result/rvb23u64/a03e6ac745737b19.S +++ b/result/rvb23u64/a03e6ac745737b19.S @@ -8,9 +8,9 @@ func0000000000000151: # @func0000000000000151 seqz a0, a0 ret func00000000000000f8: # @func00000000000000f8 + zext.w a2, a2 sh1add a1, a1, a1 - slli a1, a1, 2 - add.uw a1, a2, a1 + sh2add a1, a1, a2 sltu a0, a0, a1 ret func00000000000001f8: # @func00000000000001f8 diff --git a/result/rvb23u64/a0d8db2aa1363094.S b/result/rvb23u64/a0d8db2aa1363094.S index f11b3f04885..ebc09b1d73c 100644 --- a/result/rvb23u64/a0d8db2aa1363094.S +++ b/result/rvb23u64/a0d8db2aa1363094.S @@ -12,8 +12,8 @@ func000000000000001b: # @func000000000000001b ret func0000000000000013: # @func0000000000000013 addi a1, a1, 1 - zext.w a1, a1 - sh2add a1, a1, a1 + zext.w a2, a1 + sh2add.uw a1, a1, a2 sh2add a0, a1, a0 addi a0, a0, 18 ret diff --git a/result/rvb23u64/a0ebc23bf8043ff9.S b/result/rvb23u64/a0ebc23bf8043ff9.S index ed9b6b71eca..3eabaf0e0fe 100644 --- a/result/rvb23u64/a0ebc23bf8043ff9.S +++ b/result/rvb23u64/a0ebc23bf8043ff9.S @@ -1,7 +1,7 @@ func0000000000000000: # @func0000000000000000 sh2add a2, a2, a2 - slli a2, a2, 1 - mul a1, a1, a2 - sub a0, a0, a2 + slli a3, a2, 1 + mul a1, a1, a3 + sh1add a1, a2, a1 sub a0, a0, a1 ret diff --git a/result/rvb23u64/a104555c19ef5c53.S b/result/rvb23u64/a104555c19ef5c53.S index c2252668f7a..c95ff6933a4 100644 --- a/result/rvb23u64/a104555c19ef5c53.S +++ b/result/rvb23u64/a104555c19ef5c53.S @@ -8,10 +8,10 @@ func0000000000000005: # @func0000000000000005 ret func0000000000000001: # @func0000000000000001 sh1add a1, a1, a1 - slli a1, a1, 2 - sraiw a2, a1, 31 + slli a2, a1, 2 + sraiw a2, a2, 31 srliw a2, a2, 29 - add a1, a1, a2 + sh2add a1, a1, a2 sraiw a1, a1, 3 add a0, a0, a1 ret diff --git a/result/rvb23u64/a109d3a2722efe20.S b/result/rvb23u64/a109d3a2722efe20.S index 9e771466cc9..a9b0e733bc0 100644 --- a/result/rvb23u64/a109d3a2722efe20.S +++ b/result/rvb23u64/a109d3a2722efe20.S @@ -16,7 +16,8 @@ func0000000000000000: # @func0000000000000000 li a2, 103 mul a1, a1, a2 bexti a2, a1, 15 - srli a1, a1, 10 + srai a1, a1, 8 + srli a1, a1, 2 add a1, a1, a2 sh2add a1, a1, a1 slli a1, a1, 1 diff --git a/result/rvb23u64/a10e78396ad623d7.S b/result/rvb23u64/a10e78396ad623d7.S index 8d349d12422..edc79d747da 100644 --- a/result/rvb23u64/a10e78396ad623d7.S +++ b/result/rvb23u64/a10e78396ad623d7.S @@ -5,9 +5,11 @@ func0000000000000000: # @func0000000000000000 sh2add a0, a1, a0 ret func000000000000000c: # @func000000000000000c - neg a2, a2 - sh1add a2, a2, a2 - sh3add a1, a2, a1 + neg a3, a2 + slli a3, a3, 4 + slli a2, a2, 3 + sub a1, a1, a2 + add a1, a1, a3 sub a0, a0, a1 ret func0000000000000004: # @func0000000000000004 diff --git a/result/rvb23u64/a18d5cc9ab0262fc.S b/result/rvb23u64/a18d5cc9ab0262fc.S index c7ff8b17153..d28989759b7 100644 --- a/result/rvb23u64/a18d5cc9ab0262fc.S +++ b/result/rvb23u64/a18d5cc9ab0262fc.S @@ -6,8 +6,8 @@ func00000000000000d0: # @func00000000000000d0 sh3add a0, a1, a0 ret func00000000000000c0: # @func00000000000000c0 - zext.w a2, a2 - sh1add a2, a2, a2 + zext.w a3, a2 + sh1add.uw a2, a2, a3 sh2add a1, a2, a1 sh3add a0, a0, a1 ret diff --git a/result/rvb23u64/a1908fe3295b9ef9.S b/result/rvb23u64/a1908fe3295b9ef9.S index 5245e197b3d..0a3bf991441 100644 --- a/result/rvb23u64/a1908fe3295b9ef9.S +++ b/result/rvb23u64/a1908fe3295b9ef9.S @@ -1,8 +1,8 @@ func0000000000000003: # @func0000000000000003 andi a1, a1, 1 czero.eqz a1, a2, a1 - li a2, 264 - mul a1, a1, a2 + slli a2, a1, 8 + sh3add a1, a1, a2 add a0, a0, a1 addi a0, a0, 80 ret diff --git a/result/rvb23u64/a26a0111b0983fd3.S b/result/rvb23u64/a26a0111b0983fd3.S index a46e2c21cc7..6fb3109adb3 100644 --- a/result/rvb23u64/a26a0111b0983fd3.S +++ b/result/rvb23u64/a26a0111b0983fd3.S @@ -41,8 +41,8 @@ func000000000000001a: # @func000000000000001a func0000000000000014: # @func0000000000000014 slli a1, a1, 1 addi a1, a1, 1 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh3add a0, a1, a0 ret func000000000000000d: # @func000000000000000d diff --git a/result/rvb23u64/a2ce675c991d066a.S b/result/rvb23u64/a2ce675c991d066a.S index 9d5f92a2b17..0be9a78d3c8 100644 --- a/result/rvb23u64/a2ce675c991d066a.S +++ b/result/rvb23u64/a2ce675c991d066a.S @@ -12,8 +12,8 @@ func000000000000000b: # @func000000000000000b czero.eqz a2, a2, a3 czero.nez a1, a1, a3 or a1, a1, a2 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh2add a0, a1, a0 addi a0, a0, 4 ret diff --git a/result/rvb23u64/a2d16603877e863d.S b/result/rvb23u64/a2d16603877e863d.S index 9e4de9fc9b2..ac595cd20fa 100644 --- a/result/rvb23u64/a2d16603877e863d.S +++ b/result/rvb23u64/a2d16603877e863d.S @@ -1,7 +1,8 @@ func0000000000000003: # @func0000000000000003 sh1add a0, a1, a0 - slli.uw a0, a0, 3 - sh1add a0, a0, a0 + zext.w a1, a0 + sh1add.uw a0, a0, a1 + slli a0, a0, 3 ret .LCPI1_0: .quad -7070675565921424023 # 0x9ddfea08eb382d69 diff --git a/result/rvb23u64/a2ec64517b467271.S b/result/rvb23u64/a2ec64517b467271.S index 836e2ec5b62..5ac63389307 100644 --- a/result/rvb23u64/a2ec64517b467271.S +++ b/result/rvb23u64/a2ec64517b467271.S @@ -10,15 +10,13 @@ func0000000000000020: # @func0000000000000020 ret func0000000000000030: # @func0000000000000030 sh1add a0, a0, a0 - li a1, 2 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, 2 ret func0000000000000001: # @func0000000000000001 sh2add a0, a0, a0 - li a1, 2 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, 2 ret func0000000000000010: # @func0000000000000010 lui a1, 1 diff --git a/result/rvb23u64/a2f9d19707f38d26.S b/result/rvb23u64/a2f9d19707f38d26.S index 97ff8111b88..6acf7e8f7af 100644 --- a/result/rvb23u64/a2f9d19707f38d26.S +++ b/result/rvb23u64/a2f9d19707f38d26.S @@ -6,8 +6,9 @@ func0000000000000007: # @func0000000000000007 slli a2, a1, 32 add a1, a1, a2 mul a0, a0, a1 - slli.uw a0, a0, 2 - sh1add a0, a0, a0 + zext.w a1, a0 + sh1add.uw a0, a0, a1 + slli a0, a0, 2 ret .LCPI1_0: .quad 1749024623285053783 # 0x1845c8a0ce512957 diff --git a/result/rvb23u64/a30bfa70cc50dc28.S b/result/rvb23u64/a30bfa70cc50dc28.S index 94908d21874..175163b853b 100644 --- a/result/rvb23u64/a30bfa70cc50dc28.S +++ b/result/rvb23u64/a30bfa70cc50dc28.S @@ -13,8 +13,8 @@ func0000000000000000: # @func0000000000000000 ret func0000000000000009: # @func0000000000000009 sh1add a0, a0, a0 - li a1, -12 - sh2add a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, -12 lui a1, 699051 addiw a1, a1, -1365 slli a2, a1, 32 @@ -22,6 +22,6 @@ func0000000000000009: # @func0000000000000009 mulhu a0, a0, a1 srli a0, a0, 3 sh1add a0, a0, a0 - li a1, 12 - sh2add a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, 12 ret diff --git a/result/rvb23u64/a310b622c6dc908a.S b/result/rvb23u64/a310b622c6dc908a.S index bbffe844e98..0cdfd809f59 100644 --- a/result/rvb23u64/a310b622c6dc908a.S +++ b/result/rvb23u64/a310b622c6dc908a.S @@ -22,8 +22,8 @@ func0000000000000008: # @func0000000000000008 ret func000000000000003f: # @func000000000000003f sext.w a2, a2 + sh1add a2, a2, a2 add a0, a0, a1 - sh1add a1, a2, a2 - sh1add a0, a1, a0 + sh1add a0, a2, a0 addi a0, a0, 1 ret diff --git a/result/rvb23u64/a32443f4d98cdda9.S b/result/rvb23u64/a32443f4d98cdda9.S index 43d3e91f432..550a2491112 100644 --- a/result/rvb23u64/a32443f4d98cdda9.S +++ b/result/rvb23u64/a32443f4d98cdda9.S @@ -1,9 +1,11 @@ func0000000000000007: # @func0000000000000007 - neg a2, a2 + neg a3, a2 sh1add a1, a1, a1 sh2add a0, a1, a0 - sh1add a1, a2, a2 - sh2add a0, a1, a0 + slli a3, a3, 3 + slli a2, a2, 2 + sub a3, a3, a2 + add a0, a0, a3 andi a0, a0, -2 ret func0000000000000004: # @func0000000000000004 diff --git a/result/rvb23u64/a360f4eea4506254.S b/result/rvb23u64/a360f4eea4506254.S index 4a3e0709170..a4047ec26cb 100644 --- a/result/rvb23u64/a360f4eea4506254.S +++ b/result/rvb23u64/a360f4eea4506254.S @@ -14,8 +14,9 @@ func000000000000000c: # @func000000000000000c sh1add a2, a2, a2 slli a2, a2, 9 add a0, a0, a2 - srai a1, a1, 3 - sh1add a1, a1, a1 + srli a2, a1, 3 + srli a1, a1, 2 + add a1, a1, a2 sh3add a0, a1, a0 ret func000000000000001f: # @func000000000000001f diff --git a/result/rvb23u64/a36648f3ebc95b56.S b/result/rvb23u64/a36648f3ebc95b56.S index cb0202d3b7a..b039910e4c9 100644 --- a/result/rvb23u64/a36648f3ebc95b56.S +++ b/result/rvb23u64/a36648f3ebc95b56.S @@ -1,7 +1,7 @@ func0000000000000000: # @func0000000000000000 andi a0, a0, 1 - zext.w a2, a2 - sh1add a2, a2, a2 + zext.w a3, a2 + sh1add.uw a2, a2, a3 sh3add a1, a2, a1 czero.nez a0, a1, a0 ret @@ -20,8 +20,8 @@ func0000000000000003: # @func0000000000000003 ret func0000000000000001: # @func0000000000000001 andi a0, a0, 1 - zext.w a2, a2 - sh1add a2, a2, a2 + zext.w a3, a2 + sh1add.uw a2, a2, a3 sh3add a1, a2, a1 czero.nez a0, a1, a0 ret diff --git a/result/rvb23u64/a3a3b40030b79261.S b/result/rvb23u64/a3a3b40030b79261.S index d1f0bab06fb..b55d382e470 100644 --- a/result/rvb23u64/a3a3b40030b79261.S +++ b/result/rvb23u64/a3a3b40030b79261.S @@ -18,8 +18,8 @@ func0000000000000007: # @func0000000000000007 ret func0000000000000003: # @func0000000000000003 andi a2, a2, 255 - li a3, 258 - mul a2, a2, a3 + slli a3, a2, 8 + sh1add a2, a2, a3 zext.h a1, a1 add a0, a0, a1 add a0, a0, a2 diff --git a/result/rvb23u64/a3fa9e010ad6ccfa.S b/result/rvb23u64/a3fa9e010ad6ccfa.S index 57898be834f..28f024a75d2 100644 --- a/result/rvb23u64/a3fa9e010ad6ccfa.S +++ b/result/rvb23u64/a3fa9e010ad6ccfa.S @@ -3,6 +3,7 @@ func0000000000000003: # @func0000000000000003 andi a2, a2, 1 addi a2, a2, 1 czero.eqz a1, a2, a1 - sh2add a1, a1, a1 - sh3add a0, a1, a0 + slli a2, a1, 5 + sh3add a1, a1, a2 + add a0, a0, a1 ret diff --git a/result/rvb23u64/a444b16a817397e1.S b/result/rvb23u64/a444b16a817397e1.S index ac79f6c7bbb..92a90d719cf 100644 --- a/result/rvb23u64/a444b16a817397e1.S +++ b/result/rvb23u64/a444b16a817397e1.S @@ -18,16 +18,14 @@ func000000000000003f: # @func000000000000003f func0000000000000030: # @func0000000000000030 add a0, a0, a1 sh2add a0, a0, a0 - li a1, 15 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, 15 andi a0, a0, -16 ret func0000000000000010: # @func0000000000000010 add a0, a0, a1 sh2add a0, a0, a0 - li a1, 35 - sh2add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 2 + addiw a0, a0, 35 andi a0, a0, -16 ret diff --git a/result/rvb23u64/a467a01da9c40284.S b/result/rvb23u64/a467a01da9c40284.S index 77bcecd6af3..e4e1049759f 100644 --- a/result/rvb23u64/a467a01da9c40284.S +++ b/result/rvb23u64/a467a01da9c40284.S @@ -5,8 +5,9 @@ func0000000000000003: # @func0000000000000003 addi a0, a0, 4 ret func000000000000001f: # @func000000000000001f - srliw a1, a1, 1 - sh1add a1, a1, a1 + andi a2, a1, -2 + srli a1, a1, 1 + add a1, a1, a2 slliw a1, a1, 1 add a0, a0, a1 addi a0, a0, 2 diff --git a/result/rvb23u64/a519b66c8c6ce91b.S b/result/rvb23u64/a519b66c8c6ce91b.S index 7676ae95703..9fd7ffd3514 100644 --- a/result/rvb23u64/a519b66c8c6ce91b.S +++ b/result/rvb23u64/a519b66c8c6ce91b.S @@ -17,9 +17,8 @@ func0000000000000057: # @func0000000000000057 andi a1, a1, 255 add a0, a0, a1 sh2add a0, a0, a0 - li a1, -480 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, -480 ret func000000000000005f: # @func000000000000005f andi a1, a1, 255 @@ -32,9 +31,8 @@ func0000000000000040: # @func0000000000000040 andi a1, a1, 255 add a0, a0, a1 sh2add a0, a0, a0 - li a1, -480 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, -480 ret func0000000000000015: # @func0000000000000015 andi a1, a1, 255 diff --git a/result/rvb23u64/a5294b15633a4ea6.S b/result/rvb23u64/a5294b15633a4ea6.S index 9030abddd41..b369dd45c78 100644 --- a/result/rvb23u64/a5294b15633a4ea6.S +++ b/result/rvb23u64/a5294b15633a4ea6.S @@ -3,15 +3,19 @@ func0000000000000003: # @func0000000000000003 slli a1, a1, 38 addi a1, a1, -65 add a0, a0, a1 - srli a0, a0, 6 - slli.uw a0, a0, 3 - sh2add a0, a0, a0 + srli a1, a0, 6 + slli a0, a0, 26 + srli a0, a0, 32 + sh2add.uw a0, a1, a0 + slli a0, a0, 3 ret func000000000000000a: # @func000000000000000a addi a0, a0, 63 - srli a0, a0, 3 - andi a0, a0, -8 - sh1add a0, a0, a0 + srli a1, a0, 3 + srli a0, a0, 6 + andi a1, a1, -8 + slli a1, a1, 1 + sh3add a0, a0, a1 slli a0, a0, 1 ret func000000000000000b: # @func000000000000000b diff --git a/result/rvb23u64/a5402eed4c39d956.S b/result/rvb23u64/a5402eed4c39d956.S index 4479830c847..27e3c7594de 100644 --- a/result/rvb23u64/a5402eed4c39d956.S +++ b/result/rvb23u64/a5402eed4c39d956.S @@ -7,8 +7,8 @@ func0000000000000056: # @func0000000000000056 ret func0000000000000054: # @func0000000000000054 sext.b a1, a1 - sext.b a0, a0 sh2add a1, a1, a1 + sext.b a0, a0 sh1add a0, a1, a0 sltiu a0, a0, 628 ret diff --git a/result/rvb23u64/a5db1d0e0a9ec1ec.S b/result/rvb23u64/a5db1d0e0a9ec1ec.S index b217e51ade7..143b5045ca5 100644 --- a/result/rvb23u64/a5db1d0e0a9ec1ec.S +++ b/result/rvb23u64/a5db1d0e0a9ec1ec.S @@ -1,6 +1,7 @@ func0000000000000010: # @func0000000000000010 sub a0, a0, a1 - srli a0, a0, 4 - sh2add a0, a0, a0 + srli a1, a0, 4 + srli a0, a0, 2 + add a0, a0, a1 slliw a0, a0, 2 ret diff --git a/result/rvb23u64/a5dbbe5902b22e4b.S b/result/rvb23u64/a5dbbe5902b22e4b.S index 58ccb5a9888..266d2245e58 100644 --- a/result/rvb23u64/a5dbbe5902b22e4b.S +++ b/result/rvb23u64/a5dbbe5902b22e4b.S @@ -15,8 +15,9 @@ func0000000000000013: # @func0000000000000013 func0000000000000003: # @func0000000000000003 sub a1, a1, a2 slli a1, a1, 29 - srai a1, a1, 32 - sh1add a1, a1, a1 + srai a2, a1, 32 + srai a1, a1, 31 + add a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 16 ret diff --git a/result/rvb23u64/a6040ccc0201a239.S b/result/rvb23u64/a6040ccc0201a239.S index 95ca159b856..3dd33050c43 100644 --- a/result/rvb23u64/a6040ccc0201a239.S +++ b/result/rvb23u64/a6040ccc0201a239.S @@ -10,7 +10,9 @@ func0000000000000015: # @func0000000000000015 srli a2, a1, 63 add a1, a1, a2 srai a1, a1, 1 - neg a1, a1 - sh1add a1, a1, a1 - sh3add a0, a1, a0 + neg a2, a1 + slli a1, a1, 3 + slli a2, a2, 4 + sub a0, a0, a1 + add a0, a0, a2 ret diff --git a/result/rvb23u64/a608523a90d1177d.S b/result/rvb23u64/a608523a90d1177d.S index ab5382a2d72..4a2ef537437 100644 --- a/result/rvb23u64/a608523a90d1177d.S +++ b/result/rvb23u64/a608523a90d1177d.S @@ -26,8 +26,8 @@ func0000000000000007: # @func0000000000000007 func0000000000000001: # @func0000000000000001 addi a2, a2, -1 and a1, a1, a2 - zext.w a1, a1 - sh2add a1, a1, a1 + zext.w a2, a1 + sh2add.uw a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 8 ret diff --git a/result/rvb23u64/a626db340f84d38b.S b/result/rvb23u64/a626db340f84d38b.S index c584b842101..632cad1f2a6 100644 --- a/result/rvb23u64/a626db340f84d38b.S +++ b/result/rvb23u64/a626db340f84d38b.S @@ -1,8 +1,9 @@ func0000000000000004: # @func0000000000000004 srliw a3, a2, 31 + addw a2, a2, a3 + srli a3, a2, 1 + andi a2, a2, -2 add a2, a2, a3 - sraiw a2, a2, 1 - sh1add a2, a2, a2 sh2add a1, a2, a1 sub a0, a1, a0 ret diff --git a/result/rvb23u64/a677c44ca7c14904.S b/result/rvb23u64/a677c44ca7c14904.S index a5bc4c0e135..b2b4bd1572c 100644 --- a/result/rvb23u64/a677c44ca7c14904.S +++ b/result/rvb23u64/a677c44ca7c14904.S @@ -4,8 +4,8 @@ func0000000000000008: # @func0000000000000008 add a0, a0, a2 ret func0000000000000000: # @func0000000000000000 - zext.w a2, a2 - sh1add a2, a2, a2 + zext.w a3, a2 + sh1add.uw a2, a2, a3 sh3add a1, a2, a1 sub a0, a1, a0 ret diff --git a/result/rvb23u64/a704d62b530d2e20.S b/result/rvb23u64/a704d62b530d2e20.S index 3288ffbefb0..c53f5b6daab 100644 --- a/result/rvb23u64/a704d62b530d2e20.S +++ b/result/rvb23u64/a704d62b530d2e20.S @@ -29,8 +29,9 @@ func0000000000000038: # @func0000000000000038 sltu a0, a0, a1 ret func0000000000000034: # @func0000000000000034 - slli.uw a1, a1, 1 - sh3add a1, a1, a1 + zext.w a2, a1 + sh3add.uw a1, a1, a2 + slli a1, a1, 1 sltu a0, a1, a0 ret func0000000000000079: # @func0000000000000079 diff --git a/result/rvb23u64/a7100c22d5ce980e.S b/result/rvb23u64/a7100c22d5ce980e.S index d60ea69f1f3..ac8a5ea2e77 100644 --- a/result/rvb23u64/a7100c22d5ce980e.S +++ b/result/rvb23u64/a7100c22d5ce980e.S @@ -25,14 +25,14 @@ func0000000000000014: # @func0000000000000014 ret func0000000000000003: # @func0000000000000003 sh2add a0, a0, a0 - li a1, 32 - sh1add a0, a0, a1 + slli a0, a0, 1 + addi a0, a0, 32 andi a0, a0, 254 ret func0000000000000010: # @func0000000000000010 sh2add a0, a0, a0 - li a1, -1 - sh1add a0, a0, a1 + slli a0, a0, 1 + addi a0, a0, -1 zext.w a0, a0 ret func000000000000000b: # @func000000000000000b @@ -42,15 +42,13 @@ func000000000000000b: # @func000000000000000b ret func0000000000000001: # @func0000000000000001 sh2add a0, a0, a0 - li a1, 10 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, 10 ret func000000000000000f: # @func000000000000000f sh1add a0, a0, a0 - li a1, 3 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, 3 ret func000000000000001a: # @func000000000000001a sh1add a0, a0, a0 diff --git a/result/rvb23u64/a72b7445924d25c4.S b/result/rvb23u64/a72b7445924d25c4.S index 7954b41fc9a..df9e55a5744 100644 --- a/result/rvb23u64/a72b7445924d25c4.S +++ b/result/rvb23u64/a72b7445924d25c4.S @@ -26,17 +26,15 @@ func0000000000000008: # @func0000000000000008 func000000000000005d: # @func000000000000005d add a0, a0, a1 sh2add a0, a0, a0 - li a1, -528 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, -528 ret func000000000000007d: # @func000000000000007d add a0, a0, a1 addi a0, a0, -722 sh2add a0, a0, a0 - li a1, -8 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, -8 ret func00000000000000ff: # @func00000000000000ff add a0, a0, a1 @@ -48,16 +46,14 @@ func00000000000000ff: # @func00000000000000ff func0000000000000004: # @func0000000000000004 add a0, a0, a1 sh2add a0, a0, a0 - li a1, -528 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, -528 ret func0000000000000055: # @func0000000000000055 add a0, a0, a1 sh2add a0, a0, a0 - li a1, -528 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, -528 ret func0000000000000050: # @func0000000000000050 add a0, a0, a1 diff --git a/result/rvb23u64/a7bc06ecb3d1b471.S b/result/rvb23u64/a7bc06ecb3d1b471.S index 44bdc4d67f4..11728945fd8 100644 --- a/result/rvb23u64/a7bc06ecb3d1b471.S +++ b/result/rvb23u64/a7bc06ecb3d1b471.S @@ -5,9 +5,9 @@ func0000000000000003: # @func0000000000000003 ret func000000000000001a: # @func000000000000001a sh1add a2, a2, a2 - slli a2, a2, 1 sext.w a1, a1 sh1add a0, a1, a0 + slli a2, a2, 1 sh1add.uw a0, a2, a0 ret func000000000000001c: # @func000000000000001c diff --git a/result/rvb23u64/a7f568bf59ab4314.S b/result/rvb23u64/a7f568bf59ab4314.S index 3c02032ceef..16af7f4101b 100644 --- a/result/rvb23u64/a7f568bf59ab4314.S +++ b/result/rvb23u64/a7f568bf59ab4314.S @@ -2,14 +2,14 @@ func000000000000001d: # @func000000000000001d addi a0, a0, -48 andi a0, a0, 255 sh2add a0, a0, a0 - li a1, -48 - sh1add a0, a0, a1 + slli a0, a0, 1 + addi a0, a0, -48 ret func000000000000003f: # @func000000000000003f addiw a0, a0, -1 sh1add a0, a0, a0 - li a1, 6 - sh1add a0, a0, a1 + slli a0, a0, 1 + addi a0, a0, 6 ret func000000000000007f: # @func000000000000007f addi a0, a0, 5 @@ -21,14 +21,13 @@ func000000000000003d: # @func000000000000003d addi a0, a0, -48 andi a0, a0, 255 sh2add a0, a0, a0 - li a1, -48 - sh1add a0, a0, a1 + slli a0, a0, 1 + addi a0, a0, -48 ret func000000000000000f: # @func000000000000000f addi a0, a0, -1 - zext.w a0, a0 - li a1, 520 - mul a0, a0, a1 + slli.uw a1, a0, 9 + sh3add.uw a0, a0, a1 addi a0, a0, 536 ret func000000000000007d: # @func000000000000007d @@ -39,8 +38,8 @@ func000000000000007d: # @func000000000000007d ret func000000000000000d: # @func000000000000000d addi a0, a0, 1 - zext.w a0, a0 - sh1add a0, a0, a0 - li a1, -12 - sh2add a0, a0, a1 + zext.w a1, a0 + sh1add.uw a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, -12 ret diff --git a/result/rvb23u64/a7fca5f6a1642d67.S b/result/rvb23u64/a7fca5f6a1642d67.S index ef34d73a6d7..36b9b7b1ab9 100644 --- a/result/rvb23u64/a7fca5f6a1642d67.S +++ b/result/rvb23u64/a7fca5f6a1642d67.S @@ -5,9 +5,11 @@ func000000000000000b: # @func000000000000000b slli a3, a2, 32 add a2, a2, a3 mul a1, a1, a2 - neg a1, a1 - sh2add a1, a1, a1 - sh3add a0, a1, a0 + neg a2, a1 + slli a1, a1, 3 + slli a2, a2, 5 + sub a0, a0, a1 + add a0, a0, a2 ret func000000000000000a: # @func000000000000000a srai a1, a1, 3 @@ -16,9 +18,11 @@ func000000000000000a: # @func000000000000000a slli a3, a2, 32 add a2, a2, a3 mul a1, a1, a2 - neg a1, a1 - sh2add a1, a1, a1 - sh3add a0, a1, a0 + neg a2, a1 + slli a1, a1, 3 + slli a2, a2, 5 + sub a0, a0, a1 + add a0, a0, a2 ret func0000000000000003: # @func0000000000000003 srli a2, a1, 63 diff --git a/result/rvb23u64/a8305c1a643ff6b4.S b/result/rvb23u64/a8305c1a643ff6b4.S index a9d66903a17..51f50e60d05 100644 --- a/result/rvb23u64/a8305c1a643ff6b4.S +++ b/result/rvb23u64/a8305c1a643ff6b4.S @@ -1,7 +1,9 @@ func0000000000000031: # @func0000000000000031 - neg a2, a2 - sh1add a2, a2, a2 - sh2add a1, a2, a1 + neg a3, a2 + slli a3, a3, 3 + slli a2, a2, 2 + sub a1, a1, a2 + add a1, a1, a3 xor a0, a0, a1 seqz a0, a0 ret diff --git a/result/rvb23u64/a863970fec9bfb32.S b/result/rvb23u64/a863970fec9bfb32.S index 2e38b6de548..86d425a7676 100644 --- a/result/rvb23u64/a863970fec9bfb32.S +++ b/result/rvb23u64/a863970fec9bfb32.S @@ -6,8 +6,8 @@ func0000000000000000: # @func0000000000000000 sh2add a0, a1, a0 ret func0000000000000007: # @func0000000000000007 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh2add a0, a1, a0 ret func0000000000000006: # @func0000000000000006 diff --git a/result/rvb23u64/a8e7055a35dba29e.S b/result/rvb23u64/a8e7055a35dba29e.S index 77fc72d0f37..e8e60cebaef 100644 --- a/result/rvb23u64/a8e7055a35dba29e.S +++ b/result/rvb23u64/a8e7055a35dba29e.S @@ -1,9 +1,11 @@ func0000000000000046: # @func0000000000000046 zext.h a2, a2 - neg a1, a1 - sub a1, a1, a2 - sh1add a1, a1, a1 - sh3add a0, a1, a0 + add a1, a1, a2 + neg a2, a1 + slli a1, a1, 3 + slli a2, a2, 4 + sub a0, a0, a1 + add a0, a0, a2 addi a0, a0, -16 ret func0000000000000047: # @func0000000000000047 diff --git a/result/rvb23u64/a97bad6f2e7fae5c.S b/result/rvb23u64/a97bad6f2e7fae5c.S index 4660e35a507..f04d77048f7 100644 --- a/result/rvb23u64/a97bad6f2e7fae5c.S +++ b/result/rvb23u64/a97bad6f2e7fae5c.S @@ -1,7 +1,7 @@ func000000000000001d: # @func000000000000001d sh1add a0, a0, a0 - li a1, -12 - sh2add a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, -12 lui a1, 699051 addiw a1, a1, -1365 slli a2, a1, 32 @@ -9,13 +9,13 @@ func000000000000001d: # @func000000000000001d mulhu a0, a0, a1 srli a0, a0, 3 sh1add a0, a0, a0 - li a1, 12 - sh2add a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, 12 ret func000000000000001f: # @func000000000000001f sh1add a0, a0, a0 - li a1, -12 - sh2add a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, -12 lui a1, 699051 addiw a1, a1, -1365 slli a2, a1, 32 @@ -23,13 +23,13 @@ func000000000000001f: # @func000000000000001f mulhu a0, a0, a1 srli a0, a0, 3 sh1add a0, a0, a0 - li a1, 12 - sh2add a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, 12 ret func0000000000000000: # @func0000000000000000 sh2add a0, a0, a0 - li a1, -40 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, -40 lui a1, 838861 addiw a1, a1, -819 slli a2, a1, 32 @@ -37,8 +37,8 @@ func0000000000000000: # @func0000000000000000 mulhu a0, a0, a1 srli a0, a0, 5 sh2add a0, a0, a0 - li a1, 40 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 40 ret func0000000000000015: # @func0000000000000015 sh1add a0, a0, a0 diff --git a/result/rvb23u64/a9e1fa8ab3ae08f2.S b/result/rvb23u64/a9e1fa8ab3ae08f2.S index 220cb252cee..de7023df2ca 100644 --- a/result/rvb23u64/a9e1fa8ab3ae08f2.S +++ b/result/rvb23u64/a9e1fa8ab3ae08f2.S @@ -1,5 +1,5 @@ func0000000000000006: # @func0000000000000006 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh2add a0, a1, a0 ret diff --git a/result/rvb23u64/aa4ae19eafc3ca60.S b/result/rvb23u64/aa4ae19eafc3ca60.S index e32c7445ae5..9757d4dc59e 100644 --- a/result/rvb23u64/aa4ae19eafc3ca60.S +++ b/result/rvb23u64/aa4ae19eafc3ca60.S @@ -5,8 +5,9 @@ func0000000000000003: # @func0000000000000003 ret func0000000000000002: # @func0000000000000002 sub a1, a1, a2 - srai a1, a1, 2 - sh1add a1, a1, a1 + srai a2, a1, 2 + srli a1, a1, 1 + add a1, a1, a2 sh1add a0, a1, a0 addi a0, a0, 4 ret diff --git a/result/rvb23u64/aa557024a95fd74e.S b/result/rvb23u64/aa557024a95fd74e.S index 70a55908b94..3f0f829f901 100644 --- a/result/rvb23u64/aa557024a95fd74e.S +++ b/result/rvb23u64/aa557024a95fd74e.S @@ -26,8 +26,8 @@ func0000000000000006: # @func0000000000000006 addi a0, a0, 16 ret func0000000000000000: # @func0000000000000000 - zext.w a1, a1 - sh2add a1, a1, a1 + zext.w a2, a1 + sh2add.uw a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 40 ret diff --git a/result/rvb23u64/aa6646c3fb8f32e0.S b/result/rvb23u64/aa6646c3fb8f32e0.S index 9397193b23e..83f7f67d0e4 100644 --- a/result/rvb23u64/aa6646c3fb8f32e0.S +++ b/result/rvb23u64/aa6646c3fb8f32e0.S @@ -3,16 +3,14 @@ func0000000000000041: # @func0000000000000041 sh1add a0, a1, a0 addi a0, a0, -480 sh2add a0, a0, a0 - li a1, -480 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, -480 ret func0000000000000155: # @func0000000000000155 sh2add a1, a1, a1 sh1add a0, a1, a0 addi a0, a0, -480 sh2add a0, a0, a0 - li a1, -480 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, -480 ret diff --git a/result/rvb23u64/aaa9f20d8cdc59a2.S b/result/rvb23u64/aaa9f20d8cdc59a2.S index aacfe80a7bb..c81981c2555 100644 --- a/result/rvb23u64/aaa9f20d8cdc59a2.S +++ b/result/rvb23u64/aaa9f20d8cdc59a2.S @@ -1,8 +1,8 @@ func0000000000000055: # @func0000000000000055 sh2add a0, a1, a0 sh2add a0, a0, a0 - li a1, 320 - sh2add a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, 320 ret func0000000000000041: # @func0000000000000041 slli a1, a1, 1 diff --git a/result/rvb23u64/aab8c260386f50c2.S b/result/rvb23u64/aab8c260386f50c2.S index 785cc0e027e..ec86359cbb4 100644 --- a/result/rvb23u64/aab8c260386f50c2.S +++ b/result/rvb23u64/aab8c260386f50c2.S @@ -7,10 +7,11 @@ func0000000000000015: # @func0000000000000015 ret func0000000000000010: # @func0000000000000010 sub a0, a0, a1 - srai a0, a0, 3 - sh1add a0, a0, a0 - li a1, 24 - sh3add a0, a0, a1 + srli a1, a0, 3 + srli a0, a0, 2 + add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 24 ret func000000000000001f: # @func000000000000001f sub a0, a0, a1 @@ -21,8 +22,9 @@ func000000000000001f: # @func000000000000001f ret func0000000000000011: # @func0000000000000011 sub a0, a0, a1 - srai a0, a0, 3 - sh1add a0, a0, a0 - li a1, -4 - sh2add a0, a0, a1 + srai a1, a0, 3 + srli a0, a0, 2 + add a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, -4 ret diff --git a/result/rvb23u64/abc8865189edc40b.S b/result/rvb23u64/abc8865189edc40b.S index 817b2019a9c..797ee7db774 100644 --- a/result/rvb23u64/abc8865189edc40b.S +++ b/result/rvb23u64/abc8865189edc40b.S @@ -7,8 +7,8 @@ func000000000000001f: # @func000000000000001f mulhu a0, a0, a1 srli a0, a0, 4 sh1add a0, a0, a0 - li a1, 24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 24 ret func000000000000000a: # @func000000000000000a addi a0, a0, -24 @@ -19,8 +19,8 @@ func000000000000000a: # @func000000000000000a mulhu a0, a0, a1 srli a0, a0, 4 sh1add a0, a0, a0 - li a1, 24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 24 ret func0000000000000008: # @func0000000000000008 addi a0, a0, -24 @@ -31,8 +31,8 @@ func0000000000000008: # @func0000000000000008 mulhu a0, a0, a1 srli a0, a0, 4 sh1add a0, a0, a0 - li a1, 24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 24 ret func000000000000001d: # @func000000000000001d addi a0, a0, -24 @@ -43,8 +43,8 @@ func000000000000001d: # @func000000000000001d mulhu a0, a0, a1 srli a0, a0, 4 sh1add a0, a0, a0 - li a1, 24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 24 ret func0000000000000029: # @func0000000000000029 addi a0, a0, 2 @@ -66,8 +66,8 @@ func0000000000000015: # @func0000000000000015 mulhu a0, a0, a1 srli a0, a0, 4 sh1add a0, a0, a0 - li a1, 24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 24 ret func0000000000000000: # @func0000000000000000 addi a0, a0, -12 @@ -78,8 +78,8 @@ func0000000000000000: # @func0000000000000000 mulhu a0, a0, a1 srli a0, a0, 3 sh1add a0, a0, a0 - li a1, 12 - sh2add a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, 12 ret func0000000000000018: # @func0000000000000018 addi a0, a0, -24 @@ -90,6 +90,6 @@ func0000000000000018: # @func0000000000000018 mulhu a0, a0, a1 srli a0, a0, 4 sh1add a0, a0, a0 - li a1, 24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 24 ret diff --git a/result/rvb23u64/abd5256c8cb4129c.S b/result/rvb23u64/abd5256c8cb4129c.S index 6a0dc54496d..7d83b94eff4 100644 --- a/result/rvb23u64/abd5256c8cb4129c.S +++ b/result/rvb23u64/abd5256c8cb4129c.S @@ -1,7 +1,8 @@ func0000000000000017: # @func0000000000000017 andi a1, a1, 254 or a0, a0, a1 - srliw a0, a0, 1 - sh1add a0, a0, a0 + andi a1, a0, -2 + srli a0, a0, 1 + add a0, a0, a1 slliw a0, a0, 1 ret diff --git a/result/rvb23u64/ac93d9bf7a38af15.S b/result/rvb23u64/ac93d9bf7a38af15.S index 343ee9cbc01..22e4f2750df 100644 --- a/result/rvb23u64/ac93d9bf7a38af15.S +++ b/result/rvb23u64/ac93d9bf7a38af15.S @@ -1,6 +1,6 @@ func0000000000000004: # @func0000000000000004 sh1add a1, a1, a1 - li a2, 1 - sh1add a1, a1, a2 + slli a1, a1, 1 + addi a1, a1, 1 sub a0, a1, a0 ret diff --git a/result/rvb23u64/acd2c71121c3b8dd.S b/result/rvb23u64/acd2c71121c3b8dd.S index b35bf4a4473..5fdff60b51d 100644 --- a/result/rvb23u64/acd2c71121c3b8dd.S +++ b/result/rvb23u64/acd2c71121c3b8dd.S @@ -5,15 +5,17 @@ func0000000000000007: # @func0000000000000007 ret func0000000000000004: # @func0000000000000004 sub a1, a1, a2 - srai a1, a1, 2 - sh1add a1, a1, a1 + srli a2, a1, 2 + srli a1, a1, 1 + add a1, a1, a2 sh2add a0, a1, a0 addi a0, a0, -12 ret func0000000000000005: # @func0000000000000005 sub a1, a1, a2 - srai a1, a1, 3 - sh1add a1, a1, a1 + srli a2, a1, 3 + srli a1, a1, 2 + add a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 8 ret diff --git a/result/rvb23u64/ad74206811f28412.S b/result/rvb23u64/ad74206811f28412.S index 3ab0a3110cd..3d7feda1c14 100644 --- a/result/rvb23u64/ad74206811f28412.S +++ b/result/rvb23u64/ad74206811f28412.S @@ -1,6 +1,7 @@ func0000000000000010: # @func0000000000000010 sub a1, a1, a0 - srli a1, a1, 4 - sh2add a0, a1, a1 + srli a0, a1, 4 + srli a1, a1, 2 + add a0, a0, a1 slliw a0, a0, 2 ret diff --git a/result/rvb23u64/ad9c8ed33e41d614.S b/result/rvb23u64/ad9c8ed33e41d614.S index 9c5d27ffaed..603266f2047 100644 --- a/result/rvb23u64/ad9c8ed33e41d614.S +++ b/result/rvb23u64/ad9c8ed33e41d614.S @@ -1,9 +1,9 @@ func0000000000000005: # @func0000000000000005 andi a0, a0, 1 + sh2add a1, a1, a1 lui a2, 211 addi a2, a2, -256 czero.eqz a0, a2, a0 - sh2add a1, a1, a1 sh1add a0, a1, a0 lui a1, 9 addi a1, a1, -864 diff --git a/result/rvb23u64/adc334f2ae911f84.S b/result/rvb23u64/adc334f2ae911f84.S index fb03356e59e..a5518e59246 100644 --- a/result/rvb23u64/adc334f2ae911f84.S +++ b/result/rvb23u64/adc334f2ae911f84.S @@ -9,8 +9,9 @@ func0000000000000001: # @func0000000000000001 func0000000000000003: # @func0000000000000003 sub a2, a2, a1 slli a2, a2, 29 - srai a2, a2, 32 - sh1add a1, a2, a2 + srai a1, a2, 32 + srai a2, a2, 31 + add a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 16 ret diff --git a/result/rvb23u64/add9229d9142b7f4.S b/result/rvb23u64/add9229d9142b7f4.S index 754cf5ff8cf..148545827f1 100644 --- a/result/rvb23u64/add9229d9142b7f4.S +++ b/result/rvb23u64/add9229d9142b7f4.S @@ -1,12 +1,12 @@ func0000000000000000: # @func0000000000000000 and a1, a1, a2 - andi a0, a0, 255 sh2add a1, a1, a1 + andi a0, a0, 255 sh1add a0, a1, a0 ret func000000000000000a: # @func000000000000000a and a1, a1, a2 - andi a0, a0, 255 sh2add a1, a1, a1 + andi a0, a0, 255 sh1add a0, a1, a0 ret diff --git a/result/rvb23u64/ae2bf026e714c8c2.S b/result/rvb23u64/ae2bf026e714c8c2.S index 1292ec887fd..09d8fd7a814 100644 --- a/result/rvb23u64/ae2bf026e714c8c2.S +++ b/result/rvb23u64/ae2bf026e714c8c2.S @@ -16,6 +16,6 @@ func0000000000000000: # @func0000000000000000 add a1, a1, a2 add a0, a0, a1 sh1add a0, a0, a0 - li a1, -192 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, -192 ret diff --git a/result/rvb23u64/aea780e34326cb80.S b/result/rvb23u64/aea780e34326cb80.S index b28cf9dd826..7307d96b6a2 100644 --- a/result/rvb23u64/aea780e34326cb80.S +++ b/result/rvb23u64/aea780e34326cb80.S @@ -20,8 +20,8 @@ func0000000000000002: # @func0000000000000002 ret func0000000000000003: # @func0000000000000003 addi a1, a1, -1 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh3add a0, a1, a0 ret func0000000000000001: # @func0000000000000001 diff --git a/result/rvb23u64/aec610c82ec7d8e9.S b/result/rvb23u64/aec610c82ec7d8e9.S index f0b0ee96ab1..75e1bf6d574 100644 --- a/result/rvb23u64/aec610c82ec7d8e9.S +++ b/result/rvb23u64/aec610c82ec7d8e9.S @@ -1,8 +1,8 @@ func00000000000000f8: # @func00000000000000f8 sh2add a2, a2, a2 - slli a2, a2, 1 srliw a1, a1, 1 - sh1add a1, a1, a2 + slli a1, a1, 1 + sh1add a1, a2, a1 srli a1, a1, 31 snez a1, a1 or a0, a0, a1 diff --git a/result/rvb23u64/aede6b0a6510ae65.S b/result/rvb23u64/aede6b0a6510ae65.S index 1108ceb0468..e4d7bc7be83 100644 --- a/result/rvb23u64/aede6b0a6510ae65.S +++ b/result/rvb23u64/aede6b0a6510ae65.S @@ -25,16 +25,16 @@ func00000000000000ff: # @func00000000000000ff func00000000000000b5: # @func00000000000000b5 andi a2, a2, 255 add a1, a1, a2 - andi a0, a0, 255 sh2add a1, a1, a1 + andi a0, a0, 255 sh1add a0, a1, a0 sext.w a0, a0 ret func000000000000007f: # @func000000000000007f andi a2, a2, 255 add a1, a1, a2 - andi a0, a0, 255 sh2add a1, a1, a1 + andi a0, a0, 255 sh1add a0, a1, a0 sext.w a0, a0 ret @@ -47,36 +47,36 @@ func0000000000000025: # @func0000000000000025 func00000000000000b0: # @func00000000000000b0 sext.w a2, a2 add a1, a1, a2 - sext.w a0, a0 sh2add a1, a1, a1 + sext.w a0, a0 sh1add a0, a1, a0 ret func0000000000000090: # @func0000000000000090 sext.w a2, a2 add a1, a1, a2 - sext.w a0, a0 sh2add a1, a1, a1 + sext.w a0, a0 sh1add a0, a1, a0 ret func00000000000000e8: # @func00000000000000e8 andi a2, a2, 255 add a1, a1, a2 - andi a0, a0, 255 sh2add a1, a1, a1 + andi a0, a0, 255 sh1add a0, a1, a0 sext.w a0, a0 ret func00000000000000fa: # @func00000000000000fa andi a2, a2, 255 add a1, a1, a2 - andi a0, a0, 255 sh2add a1, a1, a1 + andi a0, a0, 255 sh1add a0, a1, a0 ret func00000000000000c8: # @func00000000000000c8 andi a2, a2, 255 add a1, a1, a2 - andi a0, a0, 255 sh2add a1, a1, a1 + andi a0, a0, 255 sh1add a0, a1, a0 ret diff --git a/result/rvb23u64/aee1c31e01074553.S b/result/rvb23u64/aee1c31e01074553.S index 8dd542a2bb6..070380dd2c2 100644 --- a/result/rvb23u64/aee1c31e01074553.S +++ b/result/rvb23u64/aee1c31e01074553.S @@ -4,8 +4,9 @@ func000000000000000b: # @func000000000000000b czero.eqz a1, a1, a2 czero.nez a0, a0, a2 or a0, a0, a1 - slli.uw a0, a0, 2 - sh1add a0, a0, a0 + zext.w a1, a0 + sh1add.uw a0, a0, a1 + slli a0, a0, 2 ret func0000000000000023: # @func0000000000000023 sext.w a2, a2 @@ -13,8 +14,9 @@ func0000000000000023: # @func0000000000000023 czero.nez a1, a1, a2 czero.eqz a0, a0, a2 or a0, a0, a1 - slli.uw a0, a0, 3 - sh1add a0, a0, a0 + zext.w a1, a0 + sh1add.uw a0, a0, a1 + slli a0, a0, 3 ret func000000000000000a: # @func000000000000000a czero.eqz a1, a1, a2 diff --git a/result/rvb23u64/aef65dc9c9a97720.S b/result/rvb23u64/aef65dc9c9a97720.S index 1fc0e72081e..f039aa2e632 100644 --- a/result/rvb23u64/aef65dc9c9a97720.S +++ b/result/rvb23u64/aef65dc9c9a97720.S @@ -1,7 +1,7 @@ func0000000000000009: # @func0000000000000009 sh1add a1, a1, a1 - slli a1, a1, 1 - zext.w a1, a1 + slli a1, a1, 33 + srli a1, a1, 32 srai a0, a0, 1 sub a0, a1, a0 ret diff --git a/result/rvb23u64/af54e489a0a44ef7.S b/result/rvb23u64/af54e489a0a44ef7.S index 3d3039e5670..c4306a29c4c 100644 --- a/result/rvb23u64/af54e489a0a44ef7.S +++ b/result/rvb23u64/af54e489a0a44ef7.S @@ -23,8 +23,9 @@ func000000000000000c: # @func000000000000000c ret func000000000000000f: # @func000000000000000f andi a1, a1, 1 - slli.uw a2, a2, 3 - sh1add a2, a2, a2 + zext.w a3, a2 + sh1add.uw a2, a2, a3 + slli a2, a2, 3 czero.nez a1, a2, a1 add a0, a0, a1 ret diff --git a/result/rvb23u64/afc821b37dc8be00.S b/result/rvb23u64/afc821b37dc8be00.S index 8e4cb9679fd..c83817e90f5 100644 --- a/result/rvb23u64/afc821b37dc8be00.S +++ b/result/rvb23u64/afc821b37dc8be00.S @@ -5,8 +5,9 @@ func0000000000000000: # @func0000000000000000 slli a2, a1, 32 add a1, a1, a2 mulhu a0, a0, a1 - srli a0, a0, 1 - sh1add a0, a0, a0 + srli a1, a0, 1 + andi a0, a0, -2 + add a0, a0, a1 slli a0, a0, 1 ret func0000000000000002: # @func0000000000000002 diff --git a/result/rvb23u64/b05c5c8abf95d5e6.S b/result/rvb23u64/b05c5c8abf95d5e6.S index 0169fd0c2bc..d95e1a44a6e 100644 --- a/result/rvb23u64/b05c5c8abf95d5e6.S +++ b/result/rvb23u64/b05c5c8abf95d5e6.S @@ -1,8 +1,7 @@ func0000000000000006: # @func0000000000000006 sh3add a2, a2, a2 - li a3, 4 - sh1add a2, a2, a3 - sext.w a2, a2 + slli a2, a2, 1 + addiw a2, a2, 4 addw a0, a0, a1 slt a0, a0, a2 ret diff --git a/result/rvb23u64/b06bea134b3e08e5.S b/result/rvb23u64/b06bea134b3e08e5.S index 83b7b8b1feb..7d82531ab09 100644 --- a/result/rvb23u64/b06bea134b3e08e5.S +++ b/result/rvb23u64/b06bea134b3e08e5.S @@ -1,7 +1,5 @@ func0000000000000003: # @func0000000000000003 sh1add a0, a0, a0 - slli a0, a0, 1 - srli a0, a0, 1 slli.uw a0, a0, 1 slli a0, a0, 4 ret diff --git a/result/rvb23u64/b13bc1f9f74e4697.S b/result/rvb23u64/b13bc1f9f74e4697.S index 786b53ae2d2..a8058104bad 100644 --- a/result/rvb23u64/b13bc1f9f74e4697.S +++ b/result/rvb23u64/b13bc1f9f74e4697.S @@ -3,6 +3,6 @@ func000000000000001a: # @func000000000000001a srli a0, a0, 56 li a1, 6 minu a0, a0, a1 - sh2add a0, a0, a0 - slli a0, a0, 3 + slli a1, a0, 5 + sh3add a0, a0, a1 ret diff --git a/result/rvb23u64/b14651a969c3b3c0.S b/result/rvb23u64/b14651a969c3b3c0.S index abdb0060020..b48eb0ee0eb 100644 --- a/result/rvb23u64/b14651a969c3b3c0.S +++ b/result/rvb23u64/b14651a969c3b3c0.S @@ -8,8 +8,9 @@ func0000000000000034: # @func0000000000000034 ret func0000000000000014: # @func0000000000000014 sh2add a0, a1, a0 - sh2add a1, a1, a1 - sh2add a0, a1, a0 + slli a2, a1, 4 + sh2add a1, a1, a2 + add a0, a0, a1 ret func0000000000000013: # @func0000000000000013 slli a2, a1, 7 diff --git a/result/rvb23u64/b19c1f10cb7f9a37.S b/result/rvb23u64/b19c1f10cb7f9a37.S index 119d0ecf453..277707e950b 100644 --- a/result/rvb23u64/b19c1f10cb7f9a37.S +++ b/result/rvb23u64/b19c1f10cb7f9a37.S @@ -18,9 +18,11 @@ func0000000000000011: # @func0000000000000011 func0000000000000031: # @func0000000000000031 slli a2, a2, 35 srli a2, a2, 35 - neg a2, a2 - sh1add a2, a2, a2 - sh2add a1, a2, a1 + neg a3, a2 + slli a3, a3, 3 + slli a2, a2, 2 + sub a1, a1, a2 + add a1, a1, a3 xor a0, a0, a1 seqz a0, a0 ret diff --git a/result/rvb23u64/b1ad30b2ca3162db.S b/result/rvb23u64/b1ad30b2ca3162db.S index 209a8771d9c..4877f927f93 100644 --- a/result/rvb23u64/b1ad30b2ca3162db.S +++ b/result/rvb23u64/b1ad30b2ca3162db.S @@ -2,9 +2,9 @@ func000000000000001f: # @func000000000000001f li a2, 10 mulhu a2, a1, a2 sh2add a1, a1, a1 - slli a1, a1, 1 - add a0, a0, a1 - sltu a1, a0, a1 + slli a3, a1, 1 + sh1add a0, a1, a0 + sltu a1, a0, a3 add a1, a1, a2 ret func0000000000000035: # @func0000000000000035 diff --git a/result/rvb23u64/b26e2a00c11b68c2.S b/result/rvb23u64/b26e2a00c11b68c2.S index f8ed27315ba..b39f3db65d5 100644 --- a/result/rvb23u64/b26e2a00c11b68c2.S +++ b/result/rvb23u64/b26e2a00c11b68c2.S @@ -4,8 +4,9 @@ func0000000000000001: # @func0000000000000001 slli a2, a1, 32 add a1, a1, a2 mulhu a0, a0, a1 - srli a0, a0, 1 - sh1add a0, a0, a0 - li a1, 1 - sh1add a0, a0, a1 + srli a1, a0, 1 + andi a0, a0, -2 + add a0, a0, a1 + slli a0, a0, 1 + addi a0, a0, 1 ret diff --git a/result/rvb23u64/b28ce09096327201.S b/result/rvb23u64/b28ce09096327201.S index 7b7cc2876dd..b187b410f65 100644 --- a/result/rvb23u64/b28ce09096327201.S +++ b/result/rvb23u64/b28ce09096327201.S @@ -5,8 +5,8 @@ func0000000000000000: # @func0000000000000000 sub a0, a1, a0 ret func0000000000000025: # @func0000000000000025 - srliw a1, a1, 16 sh2add a2, a2, a2 + srliw a1, a1, 16 sh1add a1, a2, a1 subw a0, a1, a0 ret diff --git a/result/rvb23u64/b2a7d70bfe81b751.S b/result/rvb23u64/b2a7d70bfe81b751.S index d7918e25b98..f87462c0472 100644 --- a/result/rvb23u64/b2a7d70bfe81b751.S +++ b/result/rvb23u64/b2a7d70bfe81b751.S @@ -27,10 +27,8 @@ func0000000000000034: # @func0000000000000034 ret func0000000000000004: # @func0000000000000004 sh2add a0, a0, a0 - slli a0, a0, 1 - lui a1, 524288 - addiw a1, a1, -2 - and a0, a0, a1 + slli a0, a0, 34 + srli a0, a0, 33 sltiu a0, a0, 32 ret func000000000000002c: # @func000000000000002c diff --git a/result/rvb23u64/b2c6663344d7e372.S b/result/rvb23u64/b2c6663344d7e372.S index 0086fa0fb51..1dce7b55e04 100644 --- a/result/rvb23u64/b2c6663344d7e372.S +++ b/result/rvb23u64/b2c6663344d7e372.S @@ -6,8 +6,8 @@ func0000000000000035: # @func0000000000000035 func0000000000000041: # @func0000000000000041 srli a2, a2, 5 subw a2, a2, a1 - zext.w a2, a2 - sh3add a1, a2, a2 + zext.w a1, a2 + sh3add.uw a1, a2, a1 sh2add a0, a1, a0 ret func0000000000000004: # @func0000000000000004 diff --git a/result/rvb23u64/b3064a182e3cb0ac.S b/result/rvb23u64/b3064a182e3cb0ac.S index f2ee934073a..ada2ea3db7d 100644 --- a/result/rvb23u64/b3064a182e3cb0ac.S +++ b/result/rvb23u64/b3064a182e3cb0ac.S @@ -5,8 +5,8 @@ func0000000000000007: # @func0000000000000007 addi a0, a0, 28 ret func0000000000000004: # @func0000000000000004 - zext.w a2, a2 - sh3add a2, a2, a2 + zext.w a3, a2 + sh3add.uw a2, a2, a3 sh3add a1, a2, a1 slli a0, a0, 4 add a0, a0, a1 diff --git a/result/rvb23u64/b379c82420d58eb4.S b/result/rvb23u64/b379c82420d58eb4.S index 59f21207fbc..72fd3bb2324 100644 --- a/result/rvb23u64/b379c82420d58eb4.S +++ b/result/rvb23u64/b379c82420d58eb4.S @@ -6,8 +6,8 @@ func0000000000000007: # @func0000000000000007 ret func0000000000000014: # @func0000000000000014 sh1add a2, a2, a2 - slli a2, a2, 1 sh1add a0, a1, a0 + slli a2, a2, 1 sh1add.uw a0, a2, a0 addi a0, a0, 4 ret diff --git a/result/rvb23u64/b4cedb52a03d6d78.S b/result/rvb23u64/b4cedb52a03d6d78.S index 3dfa41dcae3..059d4151c17 100644 --- a/result/rvb23u64/b4cedb52a03d6d78.S +++ b/result/rvb23u64/b4cedb52a03d6d78.S @@ -12,8 +12,8 @@ func000000000000001f: # @func000000000000001f addi a0, a0, 992 ret func0000000000000007: # @func0000000000000007 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh1add a0, a1, a0 ret func0000000000000017: # @func0000000000000017 diff --git a/result/rvb23u64/b4e4e67974702745.S b/result/rvb23u64/b4e4e67974702745.S index ab14215aab6..a43601ef0d3 100644 --- a/result/rvb23u64/b4e4e67974702745.S +++ b/result/rvb23u64/b4e4e67974702745.S @@ -1,13 +1,13 @@ func00000000000000f8: # @func00000000000000f8 - zext.w a1, a1 - sh2add a1, a1, a1 + zext.w a2, a1 + sh2add.uw a1, a1, a2 sh1add a0, a1, a0 srli a0, a0, 31 snez a0, a0 ret func00000000000000f4: # @func00000000000000f4 - zext.w a1, a1 - sh2add a1, a1, a1 + zext.w a2, a1 + sh2add.uw a1, a1, a2 sh1add a0, a1, a0 srli a0, a0, 31 seqz a0, a0 diff --git a/result/rvb23u64/b5910491677fb28b.S b/result/rvb23u64/b5910491677fb28b.S index daeeace7251..caa06a57490 100644 --- a/result/rvb23u64/b5910491677fb28b.S +++ b/result/rvb23u64/b5910491677fb28b.S @@ -21,8 +21,8 @@ func000000000000000f: # @func000000000000000f func0000000000000011: # @func0000000000000011 andi a2, a2, 255 add a1, a1, a2 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh2add a0, a1, a0 ret func000000000000000b: # @func000000000000000b diff --git a/result/rvb23u64/b5ab850251b82b30.S b/result/rvb23u64/b5ab850251b82b30.S index 30b2d9d8640..0790cf6f513 100644 --- a/result/rvb23u64/b5ab850251b82b30.S +++ b/result/rvb23u64/b5ab850251b82b30.S @@ -1,7 +1,7 @@ func0000000000000038: # @func0000000000000038 sh2add a1, a1, a1 - li a2, 32 - sh1add a1, a1, a2 + slli a1, a1, 1 + addi a1, a1, 32 andi a1, a1, 254 addw a0, a0, a1 sltiu a0, a0, 72 @@ -9,8 +9,8 @@ func0000000000000038: # @func0000000000000038 ret func00000000000000f8: # @func00000000000000f8 sh2add a1, a1, a1 - li a2, 32 - sh1add a1, a1, a2 + slli a1, a1, 1 + addi a1, a1, 32 andi a1, a1, 254 addw a0, a0, a1 sltiu a0, a0, 108 diff --git a/result/rvb23u64/b602187b88dd00e1.S b/result/rvb23u64/b602187b88dd00e1.S index 2e7ee6764b8..f383f91fa28 100644 --- a/result/rvb23u64/b602187b88dd00e1.S +++ b/result/rvb23u64/b602187b88dd00e1.S @@ -1,8 +1,8 @@ func0000000000000005: # @func0000000000000005 sext.w a0, a0 sh1add a0, a0, a0 - li a1, -24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, -24 lui a1, 699051 addiw a1, a1, -1365 slli a2, a1, 32 diff --git a/result/rvb23u64/b640b5aee51eee74.S b/result/rvb23u64/b640b5aee51eee74.S index 4cbf5682f70..7e87fe12f08 100644 --- a/result/rvb23u64/b640b5aee51eee74.S +++ b/result/rvb23u64/b640b5aee51eee74.S @@ -16,9 +16,11 @@ func0000000000000007: # @func0000000000000007 func0000000000000006: # @func0000000000000006 slli a1, a1, 35 srli a1, a1, 35 - neg a1, a1 - sh1add a1, a1, a1 - sh2add a0, a1, a0 + neg a2, a1 + slli a2, a2, 3 + slli a1, a1, 2 + sub a0, a0, a1 + add a0, a0, a2 addi a0, a0, 8 ret func000000000000000c: # @func000000000000000c diff --git a/result/rvb23u64/b66d324aa4e620a5.S b/result/rvb23u64/b66d324aa4e620a5.S index de7857f4c47..6383e8a79fb 100644 --- a/result/rvb23u64/b66d324aa4e620a5.S +++ b/result/rvb23u64/b66d324aa4e620a5.S @@ -21,8 +21,8 @@ func000000000000005c: # @func000000000000005c func0000000000000058: # @func0000000000000058 sext.w a0, a0 sh1add a0, a0, a0 - li a1, 8 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 8 sltiu a0, a0, 1025 xori a0, a0, 1 ret diff --git a/result/rvb23u64/b684efeadaf20077.S b/result/rvb23u64/b684efeadaf20077.S index b83948e2df3..729a21c46ec 100644 --- a/result/rvb23u64/b684efeadaf20077.S +++ b/result/rvb23u64/b684efeadaf20077.S @@ -1,6 +1,5 @@ func000000000000000b: # @func000000000000000b - sext.w a2, a2 - srli a2, a2, 1 + sraiw a2, a2, 1 add a1, a1, a2 sh1add a1, a1, a1 slliw a1, a1, 2 diff --git a/result/rvb23u64/b68642674836da81.S b/result/rvb23u64/b68642674836da81.S index 345433ecaaf..b92b05b59f7 100644 --- a/result/rvb23u64/b68642674836da81.S +++ b/result/rvb23u64/b68642674836da81.S @@ -1,6 +1,7 @@ func0000000000000000: # @func0000000000000000 - srli a1, a1, 1 - sh1add a1, a1, a1 + srli a2, a1, 1 + andi a1, a1, -2 + add a1, a1, a2 sh2add a0, a1, a0 ret func0000000000000007: # @func0000000000000007 diff --git a/result/rvb23u64/b689407d8cf7e8b3.S b/result/rvb23u64/b689407d8cf7e8b3.S index 9f6d204208d..8d36ac4c5f0 100644 --- a/result/rvb23u64/b689407d8cf7e8b3.S +++ b/result/rvb23u64/b689407d8cf7e8b3.S @@ -1,7 +1,7 @@ func0000000000000006: # @func0000000000000006 sh1add a2, a2, a2 - li a3, 2 - sh1add a2, a2, a3 + slli a2, a2, 1 + addi a2, a2, 2 zext.w a2, a2 sub a0, a0, a1 slt a0, a0, a2 diff --git a/result/rvb23u64/b6975db29d06232d.S b/result/rvb23u64/b6975db29d06232d.S index 2a21d6a2237..578007a8416 100644 --- a/result/rvb23u64/b6975db29d06232d.S +++ b/result/rvb23u64/b6975db29d06232d.S @@ -5,14 +5,16 @@ func0000000000000003: # @func0000000000000003 ret func0000000000000001: # @func0000000000000001 andi a1, a1, 1 - sh2add a1, a1, a1 - sh3add a0, a1, a0 + slli a2, a1, 5 + sh3add a1, a1, a2 + add a0, a0, a1 addi a0, a0, 24 ret func0000000000000002: # @func0000000000000002 andi a1, a1, 1 - sh1add a1, a1, a1 - sh3add a0, a1, a0 + slli a2, a1, 4 + sh3add a1, a1, a2 + add a0, a0, a1 addi a0, a0, 8 ret func0000000000000000: # @func0000000000000000 diff --git a/result/rvb23u64/b6a527d99659e7af.S b/result/rvb23u64/b6a527d99659e7af.S index ad3348e5316..48e92c282db 100644 --- a/result/rvb23u64/b6a527d99659e7af.S +++ b/result/rvb23u64/b6a527d99659e7af.S @@ -5,8 +5,9 @@ func0000000000000008: # @func0000000000000008 slli a4, a3, 32 add a3, a3, a4 mulhu a2, a2, a3 - srli a2, a2, 1 - sh1add a2, a2, a2 + srli a3, a2, 1 + andi a2, a2, -2 + add a2, a2, a3 sh2add a1, a2, a1 sh2add a0, a0, a1 ret diff --git a/result/rvb23u64/b71a5d20392b7f07.S b/result/rvb23u64/b71a5d20392b7f07.S index 694a842937a..8837f3ef8a3 100644 --- a/result/rvb23u64/b71a5d20392b7f07.S +++ b/result/rvb23u64/b71a5d20392b7f07.S @@ -10,7 +10,9 @@ func000000000000000b: # @func000000000000000b ret func0000000000000003: # @func0000000000000003 sh2add a1, a1, a1 - slli a1, a1, 1 - srliw a1, a1, 5 - sh2add a0, a1, a0 + srli a1, a1, 2 + lui a2, 131072 + addiw a2, a2, -4 + and a1, a1, a2 + add a0, a0, a1 ret diff --git a/result/rvb23u64/b71cfdf7f1c04f0f.S b/result/rvb23u64/b71cfdf7f1c04f0f.S index 63e6c643dc3..8cb8a2a9b2f 100644 --- a/result/rvb23u64/b71cfdf7f1c04f0f.S +++ b/result/rvb23u64/b71cfdf7f1c04f0f.S @@ -13,11 +13,12 @@ func0000000000000018: # @func0000000000000018 addi a0, a0, 1 ret func000000000000000f: # @func000000000000000f - zext.w a2, a2 - sh2add a2, a2, a2 + zext.w a3, a2 + sh2add.uw a2, a2, a3 sh2add a0, a2, a0 - srai a1, a1, 32 - sh2add a1, a1, a1 + srai a2, a1, 32 + srai a1, a1, 30 + add a1, a1, a2 sh2add a0, a1, a0 addi a0, a0, 4 ret diff --git a/result/rvb23u64/b7405788e8a94ee4.S b/result/rvb23u64/b7405788e8a94ee4.S index 258a2b45dc6..4ce60649660 100644 --- a/result/rvb23u64/b7405788e8a94ee4.S +++ b/result/rvb23u64/b7405788e8a94ee4.S @@ -5,8 +5,8 @@ func000000000000003b: # @func000000000000003b ret func0000000000000002: # @func0000000000000002 sh1add a1, a1, a1 - slli a1, a1, 3 - zext.w a1, a1 + slli a1, a1, 35 + srli a1, a1, 32 sub a0, a0, a1 ret func0000000000000023: # @func0000000000000023 diff --git a/result/rvb23u64/b841b5c2334e87ba.S b/result/rvb23u64/b841b5c2334e87ba.S index 33f49dc83d0..71014b42f8c 100644 --- a/result/rvb23u64/b841b5c2334e87ba.S +++ b/result/rvb23u64/b841b5c2334e87ba.S @@ -6,8 +6,8 @@ func0000000000000007: # @func0000000000000007 ret func0000000000000001: # @func0000000000000001 addi a1, a1, -1 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 8 ret diff --git a/result/rvb23u64/b88e842aa1a98b11.S b/result/rvb23u64/b88e842aa1a98b11.S index 7702dc96071..0df4bde3e23 100644 --- a/result/rvb23u64/b88e842aa1a98b11.S +++ b/result/rvb23u64/b88e842aa1a98b11.S @@ -1,7 +1,7 @@ func0000000000000112: # @func0000000000000112 sh2add a1, a1, a1 - li a2, 40 - sh3add a1, a1, a2 + slli a1, a1, 3 + addi a1, a1, 40 sltu a0, a0, a1 xori a0, a0, 1 ret diff --git a/result/rvb23u64/b89166f755132560.S b/result/rvb23u64/b89166f755132560.S index 4bdac0d85f1..bb9e4eeed03 100644 --- a/result/rvb23u64/b89166f755132560.S +++ b/result/rvb23u64/b89166f755132560.S @@ -5,9 +5,11 @@ func000000000000000b: # @func000000000000000b slli a3, a2, 32 add a2, a2, a3 mul a1, a1, a2 - neg a1, a1 - sh2add a1, a1, a1 - sh3add a0, a1, a0 + neg a2, a1 + slli a1, a1, 3 + slli a2, a2, 5 + sub a0, a0, a1 + add a0, a0, a2 ret func000000000000000a: # @func000000000000000a srai a1, a1, 3 @@ -16,9 +18,11 @@ func000000000000000a: # @func000000000000000a slli a3, a2, 32 add a2, a2, a3 mul a1, a1, a2 - neg a1, a1 - sh2add a1, a1, a1 - sh3add a0, a1, a0 + neg a2, a1 + slli a1, a1, 3 + slli a2, a2, 5 + sub a0, a0, a1 + add a0, a0, a2 ret func0000000000000003: # @func0000000000000003 srli a2, a1, 63 diff --git a/result/rvb23u64/b8db7133f7813127.S b/result/rvb23u64/b8db7133f7813127.S index c79ad49c07a..dba49eb6a27 100644 --- a/result/rvb23u64/b8db7133f7813127.S +++ b/result/rvb23u64/b8db7133f7813127.S @@ -1,8 +1,8 @@ func000000000000000f: # @func000000000000000f andi a0, a0, 1 czero.nez a0, a1, a0 - zext.w a0, a0 - sh1add a0, a0, a0 - li a1, 48 - sh3add a0, a0, a1 + zext.w a1, a0 + sh1add.uw a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 48 ret diff --git a/result/rvb23u64/b8f5a95d69ea3c49.S b/result/rvb23u64/b8f5a95d69ea3c49.S index bfd009e27fb..93aa0fd079f 100644 --- a/result/rvb23u64/b8f5a95d69ea3c49.S +++ b/result/rvb23u64/b8f5a95d69ea3c49.S @@ -1,9 +1,9 @@ func0000000000000015: # @func0000000000000015 - srliw a0, a0, 2 - sh1add a0, a0, a0 - li a1, -6 + srliw a1, a0, 2 + srli a0, a0, 2 sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, -6 ret func0000000000000004: # @func0000000000000004 srli a0, a0, 2 diff --git a/result/rvb23u64/b9067f75dec222d9.S b/result/rvb23u64/b9067f75dec222d9.S index 6d425bf801d..4d0a84d7a38 100644 --- a/result/rvb23u64/b9067f75dec222d9.S +++ b/result/rvb23u64/b9067f75dec222d9.S @@ -1,6 +1,6 @@ func0000000000000025: # @func0000000000000025 subw a1, a1, a0 - srli a1, a1, 1 + sraiw a1, a1, 1 add a0, a0, a1 sh1add a0, a0, a0 slliw a0, a0, 2 diff --git a/result/rvb23u64/b9c3d444237eafd0.S b/result/rvb23u64/b9c3d444237eafd0.S index 1301da78582..f0d16927719 100644 --- a/result/rvb23u64/b9c3d444237eafd0.S +++ b/result/rvb23u64/b9c3d444237eafd0.S @@ -7,10 +7,11 @@ func0000000000000015: # @func0000000000000015 ret func0000000000000010: # @func0000000000000010 sub a1, a1, a0 - srai a1, a1, 3 - sh1add a0, a1, a1 - li a1, 24 - sh3add a0, a0, a1 + srli a0, a1, 3 + srli a1, a1, 2 + add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 24 ret func000000000000001f: # @func000000000000001f sub a1, a1, a0 @@ -21,8 +22,9 @@ func000000000000001f: # @func000000000000001f ret func0000000000000011: # @func0000000000000011 sub a1, a1, a0 - srai a1, a1, 3 - sh1add a0, a1, a1 - li a1, -4 - sh2add a0, a0, a1 + srai a0, a1, 3 + srli a1, a1, 2 + add a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, -4 ret diff --git a/result/rvb23u64/ba6b53ed3860e606.S b/result/rvb23u64/ba6b53ed3860e606.S index 621c6712785..4fe828cae7e 100644 --- a/result/rvb23u64/ba6b53ed3860e606.S +++ b/result/rvb23u64/ba6b53ed3860e606.S @@ -1,7 +1,8 @@ func000000000000002f: # @func000000000000002f or a1, a1, a2 - srliw a1, a1, 1 - sh1add a1, a1, a1 + andi a2, a1, -2 + srli a1, a1, 1 + add a1, a1, a2 slliw a1, a1, 1 add a0, a0, a1 ret diff --git a/result/rvb23u64/ba8aca882ef837c4.S b/result/rvb23u64/ba8aca882ef837c4.S index a93a2f8f5e5..33687ed4432 100644 --- a/result/rvb23u64/ba8aca882ef837c4.S +++ b/result/rvb23u64/ba8aca882ef837c4.S @@ -22,9 +22,9 @@ func0000000000000010: # @func0000000000000010 ret func0000000000000000: # @func0000000000000000 andi a1, a1, 1 + sh1add a2, a2, a2 li a3, 8 czero.nez a1, a3, a1 - sh1add a2, a2, a2 sh3add a1, a2, a1 add a0, a0, a1 addi a0, a0, 8 diff --git a/result/rvb23u64/bab2ae483babb912.S b/result/rvb23u64/bab2ae483babb912.S index 141a08db15a..fc854d59ee0 100644 --- a/result/rvb23u64/bab2ae483babb912.S +++ b/result/rvb23u64/bab2ae483babb912.S @@ -1,13 +1,13 @@ func0000000000000002: # @func0000000000000002 sh1add a0, a0, a0 - li a1, 15 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 15 andi a0, a0, -16 ret func0000000000000000: # @func0000000000000000 - addi a0, a0, 170 sh1add a0, a0, a0 - li a1, 15 + lui a1, 1 + addiw a1, a1, -1 sh3add a0, a0, a1 andi a0, a0, -2048 bclri a0, a0, 11 diff --git a/result/rvb23u64/bac95e383b0fbb93.S b/result/rvb23u64/bac95e383b0fbb93.S index f4113335150..a29c37353b2 100644 --- a/result/rvb23u64/bac95e383b0fbb93.S +++ b/result/rvb23u64/bac95e383b0fbb93.S @@ -16,8 +16,8 @@ func0000000000000007: # @func0000000000000007 ret func0000000000000005: # @func0000000000000005 sh1add a0, a0, a0 - li a1, 7 - sh2add a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, 7 andi a0, a0, -8 ret func0000000000000002: # @func0000000000000002 @@ -27,14 +27,14 @@ func0000000000000002: # @func0000000000000002 ret func000000000000000e: # @func000000000000000e sh1add a0, a0, a0 - li a1, 23 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 23 andi a0, a0, -8 ret func0000000000000004: # @func0000000000000004 sh1add a0, a0, a0 - li a1, 23 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 23 andi a0, a0, -8 ret func0000000000000008: # @func0000000000000008 diff --git a/result/rvb23u64/bad716683a126d4c.S b/result/rvb23u64/bad716683a126d4c.S index 2155893b547..0a5d5531317 100644 --- a/result/rvb23u64/bad716683a126d4c.S +++ b/result/rvb23u64/bad716683a126d4c.S @@ -7,6 +7,6 @@ func0000000000000008: # @func0000000000000008 mulhu a0, a0, a1 srli a0, a0, 5 sh2add a0, a0, a0 - li a1, 40 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 40 ret diff --git a/result/rvb23u64/bad946bd4a3badd2.S b/result/rvb23u64/bad946bd4a3badd2.S index fdcbfd599fb..6f8162e7e0c 100644 --- a/result/rvb23u64/bad946bd4a3badd2.S +++ b/result/rvb23u64/bad946bd4a3badd2.S @@ -50,8 +50,9 @@ func0000000000000053: # @func0000000000000053 func0000000000000062: # @func0000000000000062 sext.w a1, a1 snez a1, a1 - sh1add a1, a1, a1 - sh2add a0, a1, a0 + slli a2, a1, 2 + sh3add a1, a1, a2 + add a0, a0, a1 addi a0, a0, 76 ret func0000000000000008: # @func0000000000000008 diff --git a/result/rvb23u64/baeea764709ac5ba.S b/result/rvb23u64/baeea764709ac5ba.S index dfd3bee261c..c735ce69f45 100644 --- a/result/rvb23u64/baeea764709ac5ba.S +++ b/result/rvb23u64/baeea764709ac5ba.S @@ -6,9 +6,11 @@ func000000000000000b: # @func000000000000000b slli a3, a2, 32 add a2, a2, a3 mul a1, a1, a2 - neg a1, a1 - sh2add a1, a1, a1 - sh3add a0, a1, a0 + neg a2, a1 + slli a1, a1, 3 + slli a2, a2, 5 + sub a0, a0, a1 + add a0, a0, a2 ret func000000000000000a: # @func000000000000000a sub a1, a1, a2 @@ -18,7 +20,9 @@ func000000000000000a: # @func000000000000000a slli a3, a2, 32 add a2, a2, a3 mul a1, a1, a2 - neg a1, a1 - sh2add a1, a1, a1 - sh3add a0, a1, a0 + neg a2, a1 + slli a1, a1, 3 + slli a2, a2, 5 + sub a0, a0, a1 + add a0, a0, a2 ret diff --git a/result/rvb23u64/bb38fda83b1f9cf8.S b/result/rvb23u64/bb38fda83b1f9cf8.S index 82e42bb6f63..4f69acd5212 100644 --- a/result/rvb23u64/bb38fda83b1f9cf8.S +++ b/result/rvb23u64/bb38fda83b1f9cf8.S @@ -1,8 +1,8 @@ func0000000000000001: # @func0000000000000001 add a1, a1, a2 addi a1, a1, 1 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 4 ret diff --git a/result/rvb23u64/bb5dfe6332b3ed6c.S b/result/rvb23u64/bb5dfe6332b3ed6c.S index 1a80e1d2be5..b75fdf5bced 100644 --- a/result/rvb23u64/bb5dfe6332b3ed6c.S +++ b/result/rvb23u64/bb5dfe6332b3ed6c.S @@ -1,5 +1,5 @@ func0000000000000000: # @func0000000000000000 - sub a1, a1, a2 + subw a1, a1, a2 li a2, 365 mul a1, a1, a2 add a0, a0, a1 diff --git a/result/rvb23u64/bbc31eb29941ec44.S b/result/rvb23u64/bbc31eb29941ec44.S index 22fc8edbd4d..30d0197e57e 100644 --- a/result/rvb23u64/bbc31eb29941ec44.S +++ b/result/rvb23u64/bbc31eb29941ec44.S @@ -50,6 +50,7 @@ func0000000000000020: # @func0000000000000020 func0000000000000010: # @func0000000000000010 sext.w a1, a1 sltiu a1, a1, 3 - sh1add a1, a1, a1 - sh2add a0, a1, a0 + slli a2, a1, 2 + sh3add a1, a1, a2 + add a0, a0, a1 ret diff --git a/result/rvb23u64/bc36360fd57775bf.S b/result/rvb23u64/bc36360fd57775bf.S index 5d86033dc05..16a46df851a 100644 --- a/result/rvb23u64/bc36360fd57775bf.S +++ b/result/rvb23u64/bc36360fd57775bf.S @@ -16,9 +16,9 @@ func000000000000002a: # @func000000000000002a srli a0, a0, 1 ret func0000000000000028: # @func0000000000000028 + sh2add a2, a2, a2 add a0, a0, a1 - sh2add a1, a2, a2 - sh1add a0, a1, a0 + sh1add a0, a2, a0 srli a0, a0, 1 ret func0000000000000020: # @func0000000000000020 diff --git a/result/rvb23u64/bc5625c97d23e9f9.S b/result/rvb23u64/bc5625c97d23e9f9.S index c8f81a2507a..a4f26015ebc 100644 --- a/result/rvb23u64/bc5625c97d23e9f9.S +++ b/result/rvb23u64/bc5625c97d23e9f9.S @@ -7,8 +7,8 @@ func0000000000000003: # @func0000000000000003 ret func0000000000000000: # @func0000000000000000 sext.w a2, a2 - li a3, 260 - mul a2, a2, a3 + slli a3, a2, 8 + sh2add a2, a2, a3 add a1, a1, a2 sh2add a0, a0, a1 ret diff --git a/result/rvb23u64/bc61cb979ef5999f.S b/result/rvb23u64/bc61cb979ef5999f.S index bfd5fa66667..af88f97d14b 100644 --- a/result/rvb23u64/bc61cb979ef5999f.S +++ b/result/rvb23u64/bc61cb979ef5999f.S @@ -1,14 +1,14 @@ func0000000000000000: # @func0000000000000000 addi a1, a1, -1 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 16 ret func0000000000000001: # @func0000000000000001 addi a1, a1, 1 - zext.w a1, a1 - sh2add a1, a1, a1 + zext.w a2, a1 + sh2add.uw a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 32 ret @@ -21,8 +21,8 @@ func0000000000000007: # @func0000000000000007 ret func0000000000000009: # @func0000000000000009 addi a1, a1, 2 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 16 ret diff --git a/result/rvb23u64/bd47e78a537753e8.S b/result/rvb23u64/bd47e78a537753e8.S index c64ec03be8b..dea3c301a1e 100644 --- a/result/rvb23u64/bd47e78a537753e8.S +++ b/result/rvb23u64/bd47e78a537753e8.S @@ -1,7 +1,7 @@ func0000000000000006: # @func0000000000000006 - zext.w a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 slli a0, a0, 16 srli a0, a0, 16 - sh1add a1, a1, a1 sh2add a0, a1, a0 ret diff --git a/result/rvb23u64/bdbe68a45188d8a2.S b/result/rvb23u64/bdbe68a45188d8a2.S index 84de1f00c00..23845dd6d6c 100644 --- a/result/rvb23u64/bdbe68a45188d8a2.S +++ b/result/rvb23u64/bdbe68a45188d8a2.S @@ -6,6 +6,7 @@ func0000000000000007: # @func0000000000000007 slli a2, a0, 32 add a0, a0, a2 mul a0, a0, a1 - slli.uw a0, a0, 2 - sh1add a0, a0, a0 + zext.w a1, a0 + sh1add.uw a0, a0, a1 + slli a0, a0, 2 ret diff --git a/result/rvb23u64/bdca2b745b0b281e.S b/result/rvb23u64/bdca2b745b0b281e.S index 2b954edf04f..5e770bd822f 100644 --- a/result/rvb23u64/bdca2b745b0b281e.S +++ b/result/rvb23u64/bdca2b745b0b281e.S @@ -1,5 +1,5 @@ func0000000000000000: # @func0000000000000000 - sub a1, a1, a2 + subw a1, a1, a2 sh1add a1, a1, a1 slli a1, a1, 1 srl a0, a0, a1 diff --git a/result/rvb23u64/be2aea86821e62b0.S b/result/rvb23u64/be2aea86821e62b0.S index 73f95271d82..3601b6c4a61 100644 --- a/result/rvb23u64/be2aea86821e62b0.S +++ b/result/rvb23u64/be2aea86821e62b0.S @@ -7,8 +7,8 @@ func0000000000000011: # @func0000000000000011 ret func0000000000000051: # @func0000000000000051 sh1add a2, a2, a2 - zext.w a2, a2 - sh1add a2, a2, a2 + zext.w a3, a2 + sh1add.uw a2, a2, a3 sh2add a1, a2, a1 xor a0, a0, a1 seqz a0, a0 diff --git a/result/rvb23u64/be4bf281f7d3d894.S b/result/rvb23u64/be4bf281f7d3d894.S index 54102dcc26d..80dc4cc6899 100644 --- a/result/rvb23u64/be4bf281f7d3d894.S +++ b/result/rvb23u64/be4bf281f7d3d894.S @@ -27,8 +27,8 @@ func00000000000000ff: # @func00000000000000ff addw a0, a0, a1 ret func00000000000000c0: # @func00000000000000c0 - zext.w a2, a2 - sh1add a2, a2, a2 + zext.w a3, a2 + sh1add.uw a2, a2, a3 sh2add a1, a2, a1 add a0, a0, a1 addi a0, a0, 4 diff --git a/result/rvb23u64/be58ae005bfc6f20.S b/result/rvb23u64/be58ae005bfc6f20.S index 9393fe3be7e..3822e8ab0ec 100644 --- a/result/rvb23u64/be58ae005bfc6f20.S +++ b/result/rvb23u64/be58ae005bfc6f20.S @@ -1,7 +1,7 @@ func0000000000000003: # @func0000000000000003 sh3add a1, a1, a1 - li a2, 64 - sh2add a1, a1, a2 + slli a1, a1, 2 + addi a1, a1, 64 add.uw a0, a1, a0 ret func000000000000007d: # @func000000000000007d @@ -12,15 +12,15 @@ func000000000000007d: # @func000000000000007d ret func000000000000000f: # @func000000000000000f sh2add a1, a1, a1 - li a2, 32 - sh1add a1, a1, a2 + slli a1, a1, 1 + addi a1, a1, 32 andi a1, a1, 254 addw a0, a0, a1 ret func0000000000000040: # @func0000000000000040 sh2add a1, a1, a1 - li a2, -1 - sh1add a1, a1, a2 + slli a1, a1, 1 + addi a1, a1, -1 add.uw a0, a1, a0 ret func000000000000006f: # @func000000000000006f @@ -31,22 +31,21 @@ func000000000000006f: # @func000000000000006f ret func0000000000000000: # @func0000000000000000 sh1add a1, a1, a1 - li a2, 2 - sh1add a1, a1, a2 + slli a1, a1, 1 + addi a1, a1, 2 add.uw a0, a1, a0 ret func000000000000007f: # @func000000000000007f sh1add a1, a1, a1 - li a2, 6 - sh1add a1, a1, a2 + slli a1, a1, 1 + addi a1, a1, 6 andi a1, a1, 254 addw a0, a0, a1 ret func000000000000007c: # @func000000000000007c sh2add a1, a1, a1 - li a2, 16 - sh3add a1, a1, a2 - sext.w a1, a1 + slli a1, a1, 3 + addiw a1, a1, 16 add a0, a0, a1 ret func000000000000002c: # @func000000000000002c diff --git a/result/rvb23u64/bed4ced3b232b25d.S b/result/rvb23u64/bed4ced3b232b25d.S index 3d12ba470c1..e8081c0f918 100644 --- a/result/rvb23u64/bed4ced3b232b25d.S +++ b/result/rvb23u64/bed4ced3b232b25d.S @@ -9,8 +9,8 @@ func0000000000000003: # @func0000000000000003 add.uw a0, a1, a0 ret func0000000000000007: # @func0000000000000007 - zext.w a2, a2 - sh2add a2, a2, a2 + zext.w a3, a2 + sh2add.uw a2, a2, a3 sh2add a0, a2, a0 sext.w a1, a1 sh2add a1, a1, a1 diff --git a/result/rvb23u64/bf3b0e1d9bd2ae4d.S b/result/rvb23u64/bf3b0e1d9bd2ae4d.S index 08a37769149..fa5ef896047 100644 --- a/result/rvb23u64/bf3b0e1d9bd2ae4d.S +++ b/result/rvb23u64/bf3b0e1d9bd2ae4d.S @@ -6,9 +6,11 @@ func000000000000000a: # @func000000000000000a slli a3, a2, 32 add a2, a2, a3 mul a1, a1, a2 - neg a1, a1 - sh1add a1, a1, a1 - sh3add a0, a1, a0 + neg a2, a1 + slli a1, a1, 3 + slli a2, a2, 4 + sub a0, a0, a1 + add a0, a0, a2 ret func000000000000000b: # @func000000000000000b sub a1, a0, a1 @@ -18,7 +20,9 @@ func000000000000000b: # @func000000000000000b slli a3, a2, 32 add a2, a2, a3 mul a1, a1, a2 - neg a1, a1 - sh1add a1, a1, a1 - sh3add a0, a1, a0 + neg a2, a1 + slli a1, a1, 3 + slli a2, a2, 4 + sub a0, a0, a1 + add a0, a0, a2 ret diff --git a/result/rvb23u64/bf4e524a9364a070.S b/result/rvb23u64/bf4e524a9364a070.S index 2a25fc7f9c2..361609e68a0 100644 --- a/result/rvb23u64/bf4e524a9364a070.S +++ b/result/rvb23u64/bf4e524a9364a070.S @@ -10,17 +10,17 @@ func000000000000030a: # @func000000000000030a ret func00000000000002f4: # @func00000000000002f4 addi a1, a1, -48 + zext.w a1, a1 sh2add a0, a0, a0 - slli a0, a0, 1 - add.uw a0, a1, a0 + sh1add a0, a0, a1 srli a0, a0, 31 seqz a0, a0 ret func00000000000002f8: # @func00000000000002f8 addi a1, a1, -48 + zext.w a1, a1 sh2add a0, a0, a0 - slli a0, a0, 1 - add.uw a0, a1, a0 + sh1add a0, a0, a1 srli a0, a0, 31 snez a0, a0 ret @@ -55,14 +55,15 @@ func0000000000000084: # @func0000000000000084 ret func0000000000000356: # @func0000000000000356 addi a2, a2, -48 + zext.w a2, a2 li a3, 10 mulhu a3, a0, a3 sh2add a1, a1, a1 sh1add a1, a1, a3 sh2add a0, a0, a0 - slli a0, a0, 1 - add.uw a2, a2, a0 - sltu a0, a2, a0 + slli a3, a0, 1 + sh1add a0, a0, a2 + sltu a0, a0, a3 add a0, a0, a1 srli a0, a0, 63 ret diff --git a/result/rvb23u64/bf66f26df85eaf59.S b/result/rvb23u64/bf66f26df85eaf59.S index 7dc40d1ebd1..cb64b6b257f 100644 --- a/result/rvb23u64/bf66f26df85eaf59.S +++ b/result/rvb23u64/bf66f26df85eaf59.S @@ -3,9 +3,8 @@ func000000000000007f: # @func000000000000007f slli a1, a1, 16 or a0, a0, a1 sh2add a0, a0, a0 - li a1, 10 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, 10 ret func0000000000000075: # @func0000000000000075 andi a1, a1, 255 diff --git a/result/rvb23u64/bf6b8e7509bbabf7.S b/result/rvb23u64/bf6b8e7509bbabf7.S index 13b440f7cef..ab67e19b5df 100644 --- a/result/rvb23u64/bf6b8e7509bbabf7.S +++ b/result/rvb23u64/bf6b8e7509bbabf7.S @@ -1,7 +1,7 @@ func00000000000000df: # @func00000000000000df sh1add a0, a0, a0 - li a1, -24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, -24 lui a1, 699051 addiw a1, a1, -1365 slli a2, a1, 32 @@ -9,13 +9,13 @@ func00000000000000df: # @func00000000000000df mulhu a0, a0, a1 srli a0, a0, 4 sh1add a0, a0, a0 - li a1, 24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 24 ret func000000000000008a: # @func000000000000008a sh1add a0, a0, a0 - li a1, -24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, -24 lui a1, 699051 addiw a1, a1, -1365 slli a2, a1, 32 @@ -23,13 +23,13 @@ func000000000000008a: # @func000000000000008a mulhu a0, a0, a1 srli a0, a0, 4 sh1add a0, a0, a0 - li a1, 24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 24 ret func0000000000000008: # @func0000000000000008 sh1add a0, a0, a0 - li a1, -24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, -24 lui a1, 699051 addiw a1, a1, -1365 slli a2, a1, 32 @@ -37,13 +37,13 @@ func0000000000000008: # @func0000000000000008 mulhu a0, a0, a1 srli a0, a0, 4 sh1add a0, a0, a0 - li a1, 24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 24 ret func000000000000005d: # @func000000000000005d sh1add a0, a0, a0 - li a1, -24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, -24 lui a1, 699051 addiw a1, a1, -1365 slli a2, a1, 32 @@ -51,13 +51,13 @@ func000000000000005d: # @func000000000000005d mulhu a0, a0, a1 srli a0, a0, 4 sh1add a0, a0, a0 - li a1, 24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 24 ret func00000000000000dd: # @func00000000000000dd sh1add a0, a0, a0 - li a1, -24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, -24 lui a1, 699051 addiw a1, a1, -1365 slli a2, a1, 32 @@ -65,13 +65,13 @@ func00000000000000dd: # @func00000000000000dd mulhu a0, a0, a1 srli a0, a0, 4 sh1add a0, a0, a0 - li a1, 24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 24 ret func0000000000000058: # @func0000000000000058 sh1add a0, a0, a0 - li a1, -24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, -24 lui a1, 699051 addiw a1, a1, -1365 slli a2, a1, 32 @@ -79,6 +79,6 @@ func0000000000000058: # @func0000000000000058 mulhu a0, a0, a1 srli a0, a0, 4 sh1add a0, a0, a0 - li a1, 24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 24 ret diff --git a/result/rvb23u64/c0083b6b1c40ed79.S b/result/rvb23u64/c0083b6b1c40ed79.S index bde3e954746..6efa9281472 100644 --- a/result/rvb23u64/c0083b6b1c40ed79.S +++ b/result/rvb23u64/c0083b6b1c40ed79.S @@ -5,13 +5,15 @@ func0000000000000005: # @func0000000000000005 sub a0, a0, a1 ret func000000000000000d: # @func000000000000000d - slli.uw a1, a1, 2 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 + slli a1, a1, 2 sub a0, a1, a0 ret func000000000000000f: # @func000000000000000f - slli.uw a1, a1, 2 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 + slli a1, a1, 2 sub a0, a1, a0 ret func000000000000000c: # @func000000000000000c diff --git a/result/rvb23u64/c03214b34de1e75f.S b/result/rvb23u64/c03214b34de1e75f.S index be4b9989c09..0fb25b93e59 100644 --- a/result/rvb23u64/c03214b34de1e75f.S +++ b/result/rvb23u64/c03214b34de1e75f.S @@ -10,16 +10,16 @@ func000000000000001f: # @func000000000000001f addi a0, a1, 33 ret func0000000000000000: # @func0000000000000000 - srliw a0, a0, 1 + srli a0, a0, 1 sh2add a0, a0, a0 - li a1, 8 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 8 zext.w a0, a0 ret func000000000000000f: # @func000000000000000f - srliw a0, a0, 3 - sh1add a0, a0, a0 - li a1, 2000 - sh2add a0, a0, a1 - sext.w a0, a0 + srliw a1, a0, 3 + srli a0, a0, 3 + sh1add a0, a0, a1 + slli a0, a0, 2 + addiw a0, a0, 2000 ret diff --git a/result/rvb23u64/c0490f846049f5dc.S b/result/rvb23u64/c0490f846049f5dc.S index 19eba6920c5..3a164e3a9a7 100644 --- a/result/rvb23u64/c0490f846049f5dc.S +++ b/result/rvb23u64/c0490f846049f5dc.S @@ -2,7 +2,7 @@ func000000000000003b: # @func000000000000003b andi a1, a1, 254 slli a0, a0, 8 or a0, a0, a1 - srliw a0, a0, 1 - sh1add a0, a0, a0 + srli a1, a0, 1 + add a0, a0, a1 slliw a0, a0, 1 ret diff --git a/result/rvb23u64/c04a85ebb98b6307.S b/result/rvb23u64/c04a85ebb98b6307.S index a5bc4c0e135..b2b4bd1572c 100644 --- a/result/rvb23u64/c04a85ebb98b6307.S +++ b/result/rvb23u64/c04a85ebb98b6307.S @@ -4,8 +4,8 @@ func0000000000000008: # @func0000000000000008 add a0, a0, a2 ret func0000000000000000: # @func0000000000000000 - zext.w a2, a2 - sh1add a2, a2, a2 + zext.w a3, a2 + sh1add.uw a2, a2, a3 sh3add a1, a2, a1 sub a0, a1, a0 ret diff --git a/result/rvb23u64/c071f3b202613d27.S b/result/rvb23u64/c071f3b202613d27.S index 971d39412b8..bc6f90cd877 100644 --- a/result/rvb23u64/c071f3b202613d27.S +++ b/result/rvb23u64/c071f3b202613d27.S @@ -7,8 +7,8 @@ func0000000000000005: # @func0000000000000005 func0000000000000017: # @func0000000000000017 andi a0, a0, 255 sh2add a0, a0, a0 - li a1, -480 - sh1add a0, a0, a1 + slli a0, a0, 1 + addi a0, a0, -480 ret func0000000000000015: # @func0000000000000015 zext.h a0, a0 diff --git a/result/rvb23u64/c08b7164004d7921.S b/result/rvb23u64/c08b7164004d7921.S index 34d37c80321..0e9150f7bb4 100644 --- a/result/rvb23u64/c08b7164004d7921.S +++ b/result/rvb23u64/c08b7164004d7921.S @@ -12,7 +12,9 @@ func0000000000000004: # @func0000000000000004 srli a2, a2, 1 sh2add a2, a2, a2 sh2add a0, a2, a0 - neg a1, a1 - sh2add a1, a1, a1 - sh2add a0, a1, a0 + neg a2, a1 + slli a2, a2, 4 + slli a1, a1, 2 + sub a2, a2, a1 + add a0, a0, a2 ret diff --git a/result/rvb23u64/c0b4a68163c631ed.S b/result/rvb23u64/c0b4a68163c631ed.S index ab16dae7600..e872ce3359a 100644 --- a/result/rvb23u64/c0b4a68163c631ed.S +++ b/result/rvb23u64/c0b4a68163c631ed.S @@ -9,8 +9,8 @@ func0000000000000000: # @func0000000000000000 func0000000000000034: # @func0000000000000034 sub a1, a1, a0 sh1add a0, a1, a1 - li a1, 12 - sh2add a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, 12 ret func0000000000000035: # @func0000000000000035 sub a1, a1, a0 @@ -36,14 +36,14 @@ func0000000000000015: # @func0000000000000015 func0000000000000002: # @func0000000000000002 sub a1, a1, a0 sh1add a0, a1, a1 - li a1, 48 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 48 ret func0000000000000003: # @func0000000000000003 sub a1, a1, a0 sh1add a0, a1, a1 - li a1, 48 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 48 ret func0000000000000001: # @func0000000000000001 subw a1, a1, a0 diff --git a/result/rvb23u64/c0dc34fb9bca2d58.S b/result/rvb23u64/c0dc34fb9bca2d58.S index 57dafc3c6d9..c8a9833b2a5 100644 --- a/result/rvb23u64/c0dc34fb9bca2d58.S +++ b/result/rvb23u64/c0dc34fb9bca2d58.S @@ -1,7 +1,8 @@ func0000000000000003: # @func0000000000000003 subw a0, a0, a1 - slli.uw a0, a0, 3 - sh1add a0, a0, a0 + zext.w a1, a0 + sh1add.uw a0, a0, a1 + slli a0, a0, 3 ret func0000000000000008: # @func0000000000000008 subw a0, a0, a1 diff --git a/result/rvb23u64/c0fd4e33eeb3842d.S b/result/rvb23u64/c0fd4e33eeb3842d.S index 4fc5555cfa5..c09fbc389b0 100644 --- a/result/rvb23u64/c0fd4e33eeb3842d.S +++ b/result/rvb23u64/c0fd4e33eeb3842d.S @@ -8,7 +8,7 @@ func0000000000000001: # @func0000000000000001 func0000000000000015: # @func0000000000000015 andi a2, a2, 1 add a0, a0, a1 - sub a0, a0, a2 + subw a0, a0, a2 sh1add a0, a0, a0 slliw a0, a0, 2 ret diff --git a/result/rvb23u64/c16e9c3e136397a0.S b/result/rvb23u64/c16e9c3e136397a0.S index 2badcaaba35..48c16ad0baf 100644 --- a/result/rvb23u64/c16e9c3e136397a0.S +++ b/result/rvb23u64/c16e9c3e136397a0.S @@ -1,7 +1,7 @@ func0000000000000016: # @func0000000000000016 sh1add a1, a1, a1 - li a2, -24 - sh3add a1, a1, a2 + slli a1, a1, 3 + addi a1, a1, -24 lui a2, 699051 addiw a2, a2, -1365 slli a3, a2, 32 diff --git a/result/rvb23u64/c1c215d25b66af3f.S b/result/rvb23u64/c1c215d25b66af3f.S index a1230471ed0..744a8c7fccb 100644 --- a/result/rvb23u64/c1c215d25b66af3f.S +++ b/result/rvb23u64/c1c215d25b66af3f.S @@ -1,7 +1,8 @@ func0000000000000007: # @func0000000000000007 andi a2, a2, 1 add a0, a0, a1 - sh1add a1, a2, a2 - sh3add a0, a1, a0 + slli a1, a2, 4 + sh3add a1, a2, a1 + add a0, a0, a1 addi a0, a0, 8 ret diff --git a/result/rvb23u64/c1cf0e65995725cf.S b/result/rvb23u64/c1cf0e65995725cf.S index 7dd90b617a5..917b350caf6 100644 --- a/result/rvb23u64/c1cf0e65995725cf.S +++ b/result/rvb23u64/c1cf0e65995725cf.S @@ -7,9 +7,8 @@ func000000000000000f: # @func000000000000000f func0000000000000000: # @func0000000000000000 andi a0, a0, 1 sh1add a1, a1, a1 - li a2, 16 - sh2add a1, a1, a2 - sext.w a1, a1 + slli a1, a1, 2 + addiw a1, a1, 16 czero.nez a0, a1, a0 ret func0000000000000005: # @func0000000000000005 diff --git a/result/rvb23u64/c379d729fa91db7d.S b/result/rvb23u64/c379d729fa91db7d.S index 4b23a0bf183..1e4d4c99902 100644 --- a/result/rvb23u64/c379d729fa91db7d.S +++ b/result/rvb23u64/c379d729fa91db7d.S @@ -1,7 +1,7 @@ func0000000000000001: # @func0000000000000001 addi a1, a1, -1 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh3add a0, a1, a0 seqz a0, a0 ret diff --git a/result/rvb23u64/c38f7abd8f9d7b39.S b/result/rvb23u64/c38f7abd8f9d7b39.S index fafa6e745e5..bef80c367b6 100644 --- a/result/rvb23u64/c38f7abd8f9d7b39.S +++ b/result/rvb23u64/c38f7abd8f9d7b39.S @@ -1,25 +1,25 @@ func00000000000000f4: # @func00000000000000f4 sh1add a1, a1, a1 - li a2, 6 - sh1add a1, a1, a2 + slli a1, a1, 1 + addi a1, a1, 6 sltu a0, a1, a0 ret func00000000000000d4: # @func00000000000000d4 sh1add a1, a1, a1 - li a2, 6 - sh1add a1, a1, a2 + slli a1, a1, 1 + addi a1, a1, 6 sltu a0, a1, a0 ret func00000000000000d6: # @func00000000000000d6 sh1add a1, a1, a1 - li a2, 6 - sh1add a1, a1, a2 + slli a1, a1, 1 + addi a1, a1, 6 slt a0, a1, a0 ret func00000000000000f6: # @func00000000000000f6 sh1add a1, a1, a1 - li a2, 6 - sh1add a1, a1, a2 + slli a1, a1, 1 + addi a1, a1, 6 slt a0, a1, a0 ret func0000000000000008: # @func0000000000000008 @@ -29,8 +29,8 @@ func0000000000000008: # @func0000000000000008 ret func000000000000005a: # @func000000000000005a sh2add a1, a1, a1 - li a2, 10 - sh1add a1, a1, a2 + slli a1, a1, 1 + addi a1, a1, 10 slt a0, a0, a1 ret func0000000000000058: # @func0000000000000058 diff --git a/result/rvb23u64/c3c40f9e2b29c8df.S b/result/rvb23u64/c3c40f9e2b29c8df.S index c88f51920f5..3df91a9c33a 100644 --- a/result/rvb23u64/c3c40f9e2b29c8df.S +++ b/result/rvb23u64/c3c40f9e2b29c8df.S @@ -1,8 +1,8 @@ func000000000000000d: # @func000000000000000d - zext.w a0, a0 - sh1add a0, a0, a0 - li a1, -12 - sh2add a0, a0, a1 + zext.w a1, a0 + sh1add.uw a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, -12 ret .LCPI1_0: .quad 6364136223846793005 # 0x5851f42d4c957f2d @@ -18,10 +18,10 @@ func0000000000000000: # @func0000000000000000 add a0, a0, a2 ret func000000000000000f: # @func000000000000000f - zext.w a0, a0 - sh1add a0, a0, a0 - li a1, 8 - sh3add a0, a0, a1 + zext.w a1, a0 + sh1add.uw a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 8 ret func000000000000001f: # @func000000000000001f andi a0, a0, 255 diff --git a/result/rvb23u64/c3fa5abc9fb85b95.S b/result/rvb23u64/c3fa5abc9fb85b95.S index 3cc1dcf53f6..4aed6dd8ca2 100644 --- a/result/rvb23u64/c3fa5abc9fb85b95.S +++ b/result/rvb23u64/c3fa5abc9fb85b95.S @@ -6,6 +6,6 @@ func0000000000000000: # @func0000000000000000 mulhu a0, a0, a1 srli a0, a0, 4 sh1add a0, a0, a0 - li a1, 24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 24 ret diff --git a/result/rvb23u64/c44c9105cdd0fb13.S b/result/rvb23u64/c44c9105cdd0fb13.S index 8109d731753..ed57db58a97 100644 --- a/result/rvb23u64/c44c9105cdd0fb13.S +++ b/result/rvb23u64/c44c9105cdd0fb13.S @@ -32,16 +32,15 @@ func0000000000000035: # @func0000000000000035 ret func000000000000003e: # @func000000000000003e sh1add a1, a1, a1 - li a2, 24 - sh3add a1, a1, a2 - sext.w a1, a1 + slli a1, a1, 3 + addiw a1, a1, 24 add a0, a0, a1 ret func0000000000000000: # @func0000000000000000 sh1add a1, a1, a1 addi a1, a1, 1 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh3add a0, a1, a0 ret func000000000000003f: # @func000000000000003f diff --git a/result/rvb23u64/c46e76388ef98f16.S b/result/rvb23u64/c46e76388ef98f16.S index fd884527224..3403fbcfdeb 100644 --- a/result/rvb23u64/c46e76388ef98f16.S +++ b/result/rvb23u64/c46e76388ef98f16.S @@ -7,7 +7,8 @@ func0000000000000011: # @func0000000000000011 ret func0000000000000010: # @func0000000000000010 sub a2, a2, a1 - srai a2, a2, 2 - sh1add a1, a2, a2 + srai a1, a2, 2 + srli a2, a2, 1 + add a1, a1, a2 sh1add a0, a1, a0 ret diff --git a/result/rvb23u64/c477e41e28ab8f3c.S b/result/rvb23u64/c477e41e28ab8f3c.S index 62312152f6a..d6a0bcffa52 100644 --- a/result/rvb23u64/c477e41e28ab8f3c.S +++ b/result/rvb23u64/c477e41e28ab8f3c.S @@ -1,8 +1,9 @@ func0000000000000007: # @func0000000000000007 - neg a2, a2 - sh1add a2, a2, a2 - sh2add a1, a2, a1 + neg a3, a2 + slli a2, a2, 2 + sub a1, a1, a2 sh1add a0, a0, a0 + sh1add a0, a3, a0 sh2add a0, a0, a1 ret func0000000000000004: # @func0000000000000004 diff --git a/result/rvb23u64/c4c0b0f8248efd8a.S b/result/rvb23u64/c4c0b0f8248efd8a.S index 1174e94f992..68716a2e6a7 100644 --- a/result/rvb23u64/c4c0b0f8248efd8a.S +++ b/result/rvb23u64/c4c0b0f8248efd8a.S @@ -1,7 +1,7 @@ func0000000000000005: # @func0000000000000005 sext.w a0, a0 sh1add a0, a0, a0 - li a1, 7 - sh2add a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, 7 andi a0, a0, -8 ret diff --git a/result/rvb23u64/c52203f5cd125175.S b/result/rvb23u64/c52203f5cd125175.S index fef41f42e57..52874780e11 100644 --- a/result/rvb23u64/c52203f5cd125175.S +++ b/result/rvb23u64/c52203f5cd125175.S @@ -23,7 +23,7 @@ func0000000000000002: # @func0000000000000002 sraiw a0, a0, 2 ret func0000000000000008: # @func0000000000000008 - sub a0, a0, a1 + subw a0, a0, a1 sh3add a0, a0, a0 slliw a0, a0, 1 lui a1, 67109 diff --git a/result/rvb23u64/c58bb26454f62157.S b/result/rvb23u64/c58bb26454f62157.S index 83d76483434..8d9924272d9 100644 --- a/result/rvb23u64/c58bb26454f62157.S +++ b/result/rvb23u64/c58bb26454f62157.S @@ -4,8 +4,8 @@ func0000000000000104: # @func0000000000000104 add a1, a1, a2 lui a2, %hi(.LCPI0_0) ld a2, %lo(.LCPI0_0)(a2) - sext.w a0, a0 sh2add a1, a1, a1 + sext.w a0, a0 sh1add a0, a1, a0 sltu a0, a0, a2 ret @@ -15,16 +15,16 @@ func0000000000000101: # @func0000000000000101 add a1, a1, a2 lui a2, %hi(.LCPI1_0) ld a2, %lo(.LCPI1_0)(a2) - sext.w a0, a0 sh2add a1, a1, a1 + sext.w a0, a0 sh1add a0, a1, a0 xor a0, a0, a2 seqz a0, a0 ret func0000000000000108: # @func0000000000000108 add a1, a1, a2 - sext.w a0, a0 sh2add a1, a1, a1 + sext.w a0, a0 sh1add a0, a1, a0 bseti a1, zero, 63 sltu a0, a1, a0 @@ -46,8 +46,8 @@ func00000000000007f1: # @func00000000000007f1 ret func00000000000007f8: # @func00000000000007f8 add a1, a1, a2 - andi a0, a0, 255 sh2add a1, a1, a1 + andi a0, a0, 255 sh1add a0, a1, a0 sext.w a0, a0 lui a1, 104858 @@ -60,8 +60,8 @@ func00000000000007a8: # @func00000000000007a8 add a1, a1, a2 lui a2, %hi(.LCPI6_0) ld a2, %lo(.LCPI6_0)(a2) - andi a0, a0, 255 sh2add a1, a1, a1 + andi a0, a0, 255 sh1add a0, a1, a0 sltu a0, a2, a0 ret diff --git a/result/rvb23u64/c65146f32104a435.S b/result/rvb23u64/c65146f32104a435.S index 6cb598caf30..8d8ce757125 100644 --- a/result/rvb23u64/c65146f32104a435.S +++ b/result/rvb23u64/c65146f32104a435.S @@ -5,8 +5,8 @@ func0000000000000000: # @func0000000000000000 ret func0000000000000001: # @func0000000000000001 addi a1, a1, -1 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 8 ret @@ -118,15 +118,15 @@ func0000000000000007: # @func0000000000000007 ret func000000000000000a: # @func000000000000000a addi a1, a1, -1 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh2add a0, a1, a0 addi a0, a0, 10 ret func0000000000000012: # @func0000000000000012 addi a1, a1, 1 - zext.w a1, a1 - sh2add a1, a1, a1 + zext.w a2, a1 + sh2add.uw a1, a1, a2 sh2add a0, a1, a0 addi a0, a0, 12 ret diff --git a/result/rvb23u64/c6715ad7850ff081.S b/result/rvb23u64/c6715ad7850ff081.S index 9257acad84a..ade691a70b7 100644 --- a/result/rvb23u64/c6715ad7850ff081.S +++ b/result/rvb23u64/c6715ad7850ff081.S @@ -6,8 +6,8 @@ func0000000000000020: # @func0000000000000020 func0000000000000000: # @func0000000000000000 mul a0, a0, a1 sh2add a0, a0, a0 - li a1, 15 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 15 ret func0000000000000010: # @func0000000000000010 mul a0, a0, a1 diff --git a/result/rvb23u64/c6813016fa38a52f.S b/result/rvb23u64/c6813016fa38a52f.S index 310ed07bf27..8e9378a8897 100644 --- a/result/rvb23u64/c6813016fa38a52f.S +++ b/result/rvb23u64/c6813016fa38a52f.S @@ -1,8 +1,8 @@ func000000000000000d: # @func000000000000000d - zext.w a0, a0 - sh1add a0, a0, a0 - li a1, -24 - sh3add a0, a0, a1 + zext.w a1, a0 + sh1add.uw a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, -24 lui a1, 699051 addiw a1, a1, -1365 slli a2, a1, 32 @@ -16,8 +16,8 @@ func000000000000000d: # @func000000000000000d func000000000000001d: # @func000000000000001d sext.w a0, a0 sh1add a0, a0, a0 - li a1, -12 - sh2add a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, -12 lui a1, 699051 addiw a1, a1, -1365 slli a2, a1, 32 diff --git a/result/rvb23u64/c68a44b687240558.S b/result/rvb23u64/c68a44b687240558.S index 8a503b3d03d..15252c79010 100644 --- a/result/rvb23u64/c68a44b687240558.S +++ b/result/rvb23u64/c68a44b687240558.S @@ -17,9 +17,10 @@ func000000000000000b: # @func000000000000000b func0000000000000008: # @func0000000000000008 add a1, a1, a2 srliw a2, a1, 31 + addw a1, a1, a2 + srli a2, a1, 1 + andi a1, a1, -2 add a1, a1, a2 - sraiw a1, a1, 1 - sh1add a1, a1, a1 sh2add a0, a1, a0 addi a0, a0, -8 ret diff --git a/result/rvb23u64/c6a4c1b4d344b739.S b/result/rvb23u64/c6a4c1b4d344b739.S index e8ce674c35b..f9ff9bc0f83 100644 --- a/result/rvb23u64/c6a4c1b4d344b739.S +++ b/result/rvb23u64/c6a4c1b4d344b739.S @@ -13,14 +13,14 @@ func0000000000000000: # @func0000000000000000 func0000000000000030: # @func0000000000000030 mul a0, a0, a1 sh2add a0, a0, a0 - li a1, 15 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 15 ret func0000000000000010: # @func0000000000000010 mul a0, a0, a1 sh1add a0, a0, a0 - li a1, 63 - sh2add a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, 63 ret func0000000000000001: # @func0000000000000001 mul a0, a0, a1 diff --git a/result/rvb23u64/c72417bcf77cd777.S b/result/rvb23u64/c72417bcf77cd777.S index 071e1b0434a..0cfba98abe9 100644 --- a/result/rvb23u64/c72417bcf77cd777.S +++ b/result/rvb23u64/c72417bcf77cd777.S @@ -13,10 +13,11 @@ func0000000000000000: # @func0000000000000000 ret func0000000000000002: # @func0000000000000002 andi a0, a0, 1 - neg a2, a2 - sh1add a2, a2, a2 + neg a3, a2 + slli a3, a3, 4 slli a2, a2, 3 - czero.nez a0, a2, a0 + sub a3, a3, a2 + czero.nez a0, a3, a0 add a0, a0, a1 ret func0000000000000001: # @func0000000000000001 diff --git a/result/rvb23u64/c7401128ed50e07e.S b/result/rvb23u64/c7401128ed50e07e.S index 189341f3316..edb03b7e3d3 100644 --- a/result/rvb23u64/c7401128ed50e07e.S +++ b/result/rvb23u64/c7401128ed50e07e.S @@ -18,9 +18,8 @@ func0000000000000005: # @func0000000000000005 ret func0000000000000006: # @func0000000000000006 sub a0, a0, a1 - srai a0, a0, 5 - li a1, 136 - mul a0, a0, a1 + srai a1, a0, 2 + sh2add a0, a0, a1 ret func0000000000000001: # @func0000000000000001 sub a0, a0, a1 diff --git a/result/rvb23u64/c74f40f359bdb516.S b/result/rvb23u64/c74f40f359bdb516.S index f83714509db..6c79f493d64 100644 --- a/result/rvb23u64/c74f40f359bdb516.S +++ b/result/rvb23u64/c74f40f359bdb516.S @@ -9,6 +9,7 @@ func0000000000000034: # @func0000000000000034 func000000000000007c: # @func000000000000007c sext.w a1, a1 sh2add a0, a1, a0 - sh2add a1, a1, a1 - sh2add a0, a1, a0 + slli a2, a1, 4 + sh2add a1, a1, a2 + add a0, a0, a1 ret diff --git a/result/rvb23u64/c75aae222f4f3e56.S b/result/rvb23u64/c75aae222f4f3e56.S index c69e8d1a2fa..e21516e1bf9 100644 --- a/result/rvb23u64/c75aae222f4f3e56.S +++ b/result/rvb23u64/c75aae222f4f3e56.S @@ -6,8 +6,8 @@ func000000000000000f: # @func000000000000000f mulhu a0, a0, a1 srli a0, a0, 4 sh1add a0, a0, a0 - li a1, 24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 24 ret func000000000000000a: # @func000000000000000a lui a1, 699051 @@ -17,8 +17,8 @@ func000000000000000a: # @func000000000000000a mulhu a0, a0, a1 srli a0, a0, 4 sh1add a0, a0, a0 - li a1, 24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 24 ret func0000000000000008: # @func0000000000000008 lui a1, 699051 @@ -28,8 +28,8 @@ func0000000000000008: # @func0000000000000008 mulhu a0, a0, a1 srli a0, a0, 4 sh1add a0, a0, a0 - li a1, 24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 24 ret func000000000000000d: # @func000000000000000d lui a1, 699051 @@ -39,8 +39,8 @@ func000000000000000d: # @func000000000000000d mulhu a0, a0, a1 srli a0, a0, 4 sh1add a0, a0, a0 - li a1, 24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 24 ret func0000000000000009: # @func0000000000000009 slli a0, a0, 32 @@ -60,8 +60,8 @@ func0000000000000005: # @func0000000000000005 mulhu a0, a0, a1 srli a0, a0, 4 sh1add a0, a0, a0 - li a1, 24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 24 ret func0000000000000000: # @func0000000000000000 lui a1, 699051 @@ -71,6 +71,6 @@ func0000000000000000: # @func0000000000000000 mulhu a0, a0, a1 srli a0, a0, 3 sh1add a0, a0, a0 - li a1, 12 - sh2add a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, 12 ret diff --git a/result/rvb23u64/c7e6528985a1d361.S b/result/rvb23u64/c7e6528985a1d361.S index b7cc207d8c0..8ea831409f4 100644 --- a/result/rvb23u64/c7e6528985a1d361.S +++ b/result/rvb23u64/c7e6528985a1d361.S @@ -5,12 +5,12 @@ func000000000000007f: # @func000000000000007f addi a0, a0, 37 ret func000000000000007b: # @func000000000000007b - li a2, 520 - mul a1, a1, a2 + slli a2, a1, 9 + sh3add a1, a1, a2 add a0, a0, a1 ret func000000000000002b: # @func000000000000002b - li a2, 520 - mul a1, a1, a2 + slli a2, a1, 9 + sh3add a1, a1, a2 add a0, a0, a1 ret diff --git a/result/rvb23u64/c841e8a3bbe0f1fd.S b/result/rvb23u64/c841e8a3bbe0f1fd.S index daa0be156df..1509f267325 100644 --- a/result/rvb23u64/c841e8a3bbe0f1fd.S +++ b/result/rvb23u64/c841e8a3bbe0f1fd.S @@ -5,6 +5,7 @@ func0000000000000003: # @func0000000000000003 addi a2, a2, -1 czero.eqz a0, a2, a0 or a0, a0, a1 - slli.uw a0, a0, 3 - sh1add a0, a0, a0 + zext.w a1, a0 + sh1add.uw a0, a0, a1 + slli a0, a0, 3 ret diff --git a/result/rvb23u64/c8695c67a72df92c.S b/result/rvb23u64/c8695c67a72df92c.S index 181d4fe4f83..150b5b77ee9 100644 --- a/result/rvb23u64/c8695c67a72df92c.S +++ b/result/rvb23u64/c8695c67a72df92c.S @@ -24,9 +24,8 @@ func0000000000000007: # @func0000000000000007 ret func000000000000001d: # @func000000000000001d sh2add a0, a0, a0 - li a1, -528 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, -528 ret func000000000000001f: # @func000000000000001f addi a0, a0, -1 @@ -49,9 +48,8 @@ func0000000000000008: # @func0000000000000008 ret func0000000000000004: # @func0000000000000004 sh2add a0, a0, a0 - li a1, -528 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, -528 ret func0000000000000035: # @func0000000000000035 slli a0, a0, 3 diff --git a/result/rvb23u64/c89bf3dc0749dbc3.S b/result/rvb23u64/c89bf3dc0749dbc3.S index 86d08db1a9a..284a71772bd 100644 --- a/result/rvb23u64/c89bf3dc0749dbc3.S +++ b/result/rvb23u64/c89bf3dc0749dbc3.S @@ -8,6 +8,6 @@ func0000000000000008: # @func0000000000000008 mulhu a0, a1, a0 srli a0, a0, 3 sh1add a0, a0, a0 - li a1, 12 - sh2add a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, 12 ret diff --git a/result/rvb23u64/c90879ffb89ddba5.S b/result/rvb23u64/c90879ffb89ddba5.S index dcada8b318b..b3e41aafc7b 100644 --- a/result/rvb23u64/c90879ffb89ddba5.S +++ b/result/rvb23u64/c90879ffb89ddba5.S @@ -1,6 +1,6 @@ func00000000000000a8: # @func00000000000000a8 mul a2, a2, a0 - sub a1, a1, a2 + subw a1, a1, a2 sh2add a1, a1, a1 slli a1, a1, 1 divw a0, a1, a0 diff --git a/result/rvb23u64/c94b2dad4c8ea900.S b/result/rvb23u64/c94b2dad4c8ea900.S index 2bff5b8c48e..4d82a7bd307 100644 --- a/result/rvb23u64/c94b2dad4c8ea900.S +++ b/result/rvb23u64/c94b2dad4c8ea900.S @@ -1,9 +1,9 @@ func000000000000003f: # @func000000000000003f andi a1, a0, 15 + sh2add a1, a1, a1 srliw a0, a0, 4 li a2, 100 mul a0, a0, a2 - sh2add a1, a1, a1 sh1add a0, a1, a0 sext.w a0, a0 ret diff --git a/result/rvb23u64/c9a99c16e9fafece.S b/result/rvb23u64/c9a99c16e9fafece.S index 4af9517cae7..7382a54c0f1 100644 --- a/result/rvb23u64/c9a99c16e9fafece.S +++ b/result/rvb23u64/c9a99c16e9fafece.S @@ -1,8 +1,9 @@ func00000000000000b5: # @func00000000000000b5 slt a1, a1, a2 xori a1, a1, 1 - sh2add a1, a1, a1 - sh3add a0, a1, a0 + slli a2, a1, 5 + sh3add a1, a1, a2 + add a0, a0, a1 addi a0, a0, 32 ret func00000000000000c5: # @func00000000000000c5 diff --git a/result/rvb23u64/ca1db1b13dd21eb9.S b/result/rvb23u64/ca1db1b13dd21eb9.S index 6ed0ff9b340..34f11d81b21 100644 --- a/result/rvb23u64/ca1db1b13dd21eb9.S +++ b/result/rvb23u64/ca1db1b13dd21eb9.S @@ -1,8 +1,8 @@ func00000000000000f8: # @func00000000000000f8 sext.w a0, a0 sh1add a2, a2, a2 - slli a2, a2, 2 - srliw a2, a2, 3 + slli a2, a2, 34 + srli a2, a2, 35 addw a1, a1, a2 sltu a0, a0, a1 ret diff --git a/result/rvb23u64/ca5869bfef6ba44a.S b/result/rvb23u64/ca5869bfef6ba44a.S index eecf09016d9..84c8a48dfcd 100644 --- a/result/rvb23u64/ca5869bfef6ba44a.S +++ b/result/rvb23u64/ca5869bfef6ba44a.S @@ -6,7 +6,7 @@ func0000000000000001: # @func0000000000000001 func0000000000000000: # @func0000000000000000 slli a1, a1, 1 addi a1, a1, 2 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh3add a0, a1, a0 ret diff --git a/result/rvb23u64/ca58e1bdb8c63ec0.S b/result/rvb23u64/ca58e1bdb8c63ec0.S index ac3f19ce8c0..3aef9b100bf 100644 --- a/result/rvb23u64/ca58e1bdb8c63ec0.S +++ b/result/rvb23u64/ca58e1bdb8c63ec0.S @@ -7,8 +7,8 @@ func0000000000000017: # @func0000000000000017 add a2, a2, a3 mul a1, a1, a2 addi a1, a1, -2 - srai a1, a1, 1 - sh1add a1, a1, a1 + srli a2, a1, 1 + add a1, a1, a2 sh2add a0, a1, a0 ret func0000000000000016: # @func0000000000000016 @@ -20,7 +20,7 @@ func0000000000000016: # @func0000000000000016 add a2, a2, a3 mul a1, a1, a2 addi a1, a1, -2 - srai a1, a1, 1 - sh1add a1, a1, a1 + srli a2, a1, 1 + add a1, a1, a2 sh3add a0, a1, a0 ret diff --git a/result/rvb23u64/ca7876c065f124c8.S b/result/rvb23u64/ca7876c065f124c8.S index 14dd0b98a7c..fa86f39360d 100644 --- a/result/rvb23u64/ca7876c065f124c8.S +++ b/result/rvb23u64/ca7876c065f124c8.S @@ -52,9 +52,9 @@ func000000000000003f: # @func000000000000003f ret func000000000000002f: # @func000000000000002f addi a1, a1, -48 + zext.w a1, a1 sh2add a0, a0, a0 - slli a0, a0, 1 - add.uw a0, a1, a0 + sh1add a0, a0, a1 ret func000000000000001f: # @func000000000000001f addi a1, a1, -48 diff --git a/result/rvb23u64/ca9e87d4327c7e20.S b/result/rvb23u64/ca9e87d4327c7e20.S index e13cee30160..c5f604222a5 100644 --- a/result/rvb23u64/ca9e87d4327c7e20.S +++ b/result/rvb23u64/ca9e87d4327c7e20.S @@ -2,8 +2,9 @@ func0000000000000013: # @func0000000000000013 addi a1, a1, 1 srli a2, a1, 63 add a1, a1, a2 - srai a1, a1, 1 - sh1add a1, a1, a1 + srli a2, a1, 1 + andi a1, a1, -2 + add a1, a1, a2 sh3add a0, a1, a0 ret func0000000000000011: # @func0000000000000011 diff --git a/result/rvb23u64/caeb7e7b5a40cd51.S b/result/rvb23u64/caeb7e7b5a40cd51.S index d2045530af1..d57a769c4f8 100644 --- a/result/rvb23u64/caeb7e7b5a40cd51.S +++ b/result/rvb23u64/caeb7e7b5a40cd51.S @@ -77,8 +77,8 @@ func0000000000000007: # @func0000000000000007 ret func000000000000000a: # @func000000000000000a addi a1, a1, -1 - zext.w a1, a1 - sh3add a1, a1, a1 + zext.w a2, a1 + sh3add.uw a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 192 ret diff --git a/result/rvb23u64/cb023b91e0aee769.S b/result/rvb23u64/cb023b91e0aee769.S index 7c25339f64f..f39621209fc 100644 --- a/result/rvb23u64/cb023b91e0aee769.S +++ b/result/rvb23u64/cb023b91e0aee769.S @@ -7,17 +7,15 @@ func00000000000000f1: # @func00000000000000f1 ret func0000000000000001: # @func0000000000000001 sh1add a1, a1, a1 - li a2, 16 - sh2add a1, a1, a2 - sext.w a1, a1 + slli a1, a1, 2 + addiw a1, a1, 16 czero.eqz a0, a1, a0 ret func0000000000000004: # @func0000000000000004 sext.w a0, a0 sh2add a1, a1, a1 - li a2, 10 - sh1add a1, a1, a2 - sext.w a1, a1 + slli a1, a1, 1 + addiw a1, a1, 10 sltiu a0, a0, 15 li a2, 16 czero.eqz a2, a2, a0 diff --git a/result/rvb23u64/cb51d16b6591a1fd.S b/result/rvb23u64/cb51d16b6591a1fd.S index 4775078e73a..e96cca2f0ca 100644 --- a/result/rvb23u64/cb51d16b6591a1fd.S +++ b/result/rvb23u64/cb51d16b6591a1fd.S @@ -1,8 +1,10 @@ func0000000000000006: # @func0000000000000006 add a1, a1, a2 - neg a1, a1 - sh1add a1, a1, a1 - sh3add a0, a1, a0 + neg a2, a1 + slli a1, a1, 3 + slli a2, a2, 4 + sub a0, a0, a1 + add a0, a0, a2 addi a0, a0, -16 ret func0000000000000007: # @func0000000000000007 diff --git a/result/rvb23u64/cbb7dfd15aacb5ac.S b/result/rvb23u64/cbb7dfd15aacb5ac.S index b39ef0bf443..d564283d5bc 100644 --- a/result/rvb23u64/cbb7dfd15aacb5ac.S +++ b/result/rvb23u64/cbb7dfd15aacb5ac.S @@ -4,8 +4,10 @@ func0000000000000002: # @func0000000000000002 addi a0, a0, 84 ret func0000000000000003: # @func0000000000000003 - neg a1, a1 - sh1add a1, a1, a1 - sh2add a0, a1, a0 + neg a2, a1 + slli a2, a2, 3 + slli a1, a1, 2 + sub a0, a0, a1 + add a0, a0, a2 addi a0, a0, 8 ret diff --git a/result/rvb23u64/cc5b279d17d7f8ac.S b/result/rvb23u64/cc5b279d17d7f8ac.S index e90af727673..d662ed4e336 100644 --- a/result/rvb23u64/cc5b279d17d7f8ac.S +++ b/result/rvb23u64/cc5b279d17d7f8ac.S @@ -19,8 +19,9 @@ func0000000000000002: # @func0000000000000002 add a0, a0, a1 ret func0000000000000004: # @func0000000000000004 - srai a1, a1, 32 - sh1add a1, a1, a1 + srai a2, a1, 32 + srai a1, a1, 31 + add a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 168 ret diff --git a/result/rvb23u64/cc9f65d98bc623b1.S b/result/rvb23u64/cc9f65d98bc623b1.S index 197bad815e2..a42d4c077df 100644 --- a/result/rvb23u64/cc9f65d98bc623b1.S +++ b/result/rvb23u64/cc9f65d98bc623b1.S @@ -25,8 +25,9 @@ func0000000000000014: # @func0000000000000014 addw a0, a0, a1 ret func0000000000000010: # @func0000000000000010 - srai a1, a1, 2 - sh1add a1, a1, a1 + srai a2, a1, 2 + srli a1, a1, 1 + add a1, a1, a2 sh1add a0, a1, a0 ret func0000000000000015: # @func0000000000000015 diff --git a/result/rvb23u64/cd2a3f05feaf4f26.S b/result/rvb23u64/cd2a3f05feaf4f26.S index 0f2b07f4fd2..bdedfafafb6 100644 --- a/result/rvb23u64/cd2a3f05feaf4f26.S +++ b/result/rvb23u64/cd2a3f05feaf4f26.S @@ -1,8 +1,8 @@ func000000000000000f: # @func000000000000000f andi a0, a0, 1 sh1add a1, a1, a1 - li a2, 6 - sh1add a1, a1, a2 + slli a1, a1, 1 + addi a1, a1, 6 czero.nez a0, a1, a0 ret func0000000000000004: # @func0000000000000004 diff --git a/result/rvb23u64/cd54f76b6c4e5e71.S b/result/rvb23u64/cd54f76b6c4e5e71.S index 182b718e09d..cf4587b03b1 100644 --- a/result/rvb23u64/cd54f76b6c4e5e71.S +++ b/result/rvb23u64/cd54f76b6c4e5e71.S @@ -12,8 +12,8 @@ func0000000000000000: # @func0000000000000000 ret func0000000000000003: # @func0000000000000003 sh1add a1, a1, a1 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh2add a0, a1, a0 ret func0000000000000006: # @func0000000000000006 diff --git a/result/rvb23u64/cd9c05acaf07ce57.S b/result/rvb23u64/cd9c05acaf07ce57.S index 6400a88925d..62dd70690d5 100644 --- a/result/rvb23u64/cd9c05acaf07ce57.S +++ b/result/rvb23u64/cd9c05acaf07ce57.S @@ -1,9 +1,9 @@ func00000000000000e4: # @func00000000000000e4 addi a2, a1, 38 sh3add a1, a1, a1 - slli a1, a1, 2 zext.h a2, a2 - zext.h a1, a1 + slli a1, a1, 50 + srli a1, a1, 48 divuw a1, a1, a2 addw a0, a0, a1 ret diff --git a/result/rvb23u64/ce0dcbb978f1dc00.S b/result/rvb23u64/ce0dcbb978f1dc00.S index 91a249104dd..d4b52621db7 100644 --- a/result/rvb23u64/ce0dcbb978f1dc00.S +++ b/result/rvb23u64/ce0dcbb978f1dc00.S @@ -6,6 +6,7 @@ func000000000000000f: # @func000000000000000f ret func000000000000000e: # @func000000000000000e andi a1, a1, 1 - sh2add a1, a1, a1 - sh3add a0, a1, a0 + slli a2, a1, 5 + sh3add a1, a1, a2 + add a0, a0, a1 ret diff --git a/result/rvb23u64/ce395b04d70dd0a8.S b/result/rvb23u64/ce395b04d70dd0a8.S index 4182b0acc5f..7d33e46bd9f 100644 --- a/result/rvb23u64/ce395b04d70dd0a8.S +++ b/result/rvb23u64/ce395b04d70dd0a8.S @@ -26,8 +26,9 @@ func000000000000000c: # @func000000000000000c slli a3, a2, 32 add a2, a2, a3 mulhu a1, a1, a2 - srli a1, a1, 1 - sh1add a1, a1, a1 + srli a2, a1, 1 + andi a1, a1, -2 + add a1, a1, a2 slli a1, a1, 2 sub a0, a0, a1 ret diff --git a/result/rvb23u64/ce51206f7d305b79.S b/result/rvb23u64/ce51206f7d305b79.S index fd9e08232b6..8140b0bd6d7 100644 --- a/result/rvb23u64/ce51206f7d305b79.S +++ b/result/rvb23u64/ce51206f7d305b79.S @@ -8,8 +8,8 @@ func00000000000001b5: # @func00000000000001b5 ret func0000000000000024: # @func0000000000000024 add a1, a1, a2 - andi a0, a0, 255 sh2add a1, a1, a1 + andi a0, a0, 255 sh1add a0, a1, a0 addi a0, a0, -48 ret diff --git a/result/rvb23u64/ce58aedba2c50caf.S b/result/rvb23u64/ce58aedba2c50caf.S index 366e003caf6..b832151649d 100644 --- a/result/rvb23u64/ce58aedba2c50caf.S +++ b/result/rvb23u64/ce58aedba2c50caf.S @@ -11,10 +11,10 @@ func0000000000000003: # @func0000000000000003 ret func0000000000000005: # @func0000000000000005 sh1add a1, a1, a1 - slli a1, a1, 1 - srai a2, a1, 63 + slli a2, a1, 1 + srai a2, a2, 63 srli a2, a2, 61 - add a1, a1, a2 + sh1add a1, a1, a2 srai a1, a1, 3 add a0, a0, a1 ret diff --git a/result/rvb23u64/cea37f50e83daef2.S b/result/rvb23u64/cea37f50e83daef2.S index 260c42a1082..ddcd9821745 100644 --- a/result/rvb23u64/cea37f50e83daef2.S +++ b/result/rvb23u64/cea37f50e83daef2.S @@ -8,8 +8,8 @@ func0000000000000031: # @func0000000000000031 addi a2, a2, -48 andi a2, a2, 255 add a1, a1, a2 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh2add a0, a1, a0 ret func0000000000000040: # @func0000000000000040 diff --git a/result/rvb23u64/cec680a6460e16d3.S b/result/rvb23u64/cec680a6460e16d3.S index 14db606ba31..0a373713e9d 100644 --- a/result/rvb23u64/cec680a6460e16d3.S +++ b/result/rvb23u64/cec680a6460e16d3.S @@ -8,10 +8,10 @@ func0000000000000053: # @func0000000000000053 ret func0000000000000051: # @func0000000000000051 andi a2, a2, 1 - sub a1, a1, a2 + subw a1, a1, a2 slli a2, a1, 3 add a0, a0, a1 - sub a0, a0, a2 + subw a0, a0, a2 sh1add a0, a0, a0 slliw a0, a0, 2 ret diff --git a/result/rvb23u64/cf3b9dd4f4698390.S b/result/rvb23u64/cf3b9dd4f4698390.S index 80e9a4effa1..e60a7e6e855 100644 --- a/result/rvb23u64/cf3b9dd4f4698390.S +++ b/result/rvb23u64/cf3b9dd4f4698390.S @@ -1,8 +1,8 @@ func0000000000000037: # @func0000000000000037 - zext.w a0, a0 - sh1add a0, a0, a0 - li a1, -24 - sh3add a0, a0, a1 + zext.w a1, a0 + sh1add.uw a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, -24 lui a1, 699051 addiw a1, a1, -1365 slli a2, a1, 32 @@ -15,8 +15,8 @@ func0000000000000037: # @func0000000000000037 func0000000000000077: # @func0000000000000077 sext.w a0, a0 sh1add a0, a0, a0 - li a1, -12 - sh2add a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, -12 lui a1, 699051 addiw a1, a1, -1365 slli a2, a1, 32 diff --git a/result/rvb23u64/cfa5d74c03726bde.S b/result/rvb23u64/cfa5d74c03726bde.S index 904be54bae1..4eb996f83c1 100644 --- a/result/rvb23u64/cfa5d74c03726bde.S +++ b/result/rvb23u64/cfa5d74c03726bde.S @@ -1,6 +1,6 @@ func0000000000000011: # @func0000000000000011 - li a3, 136 - mul a3, a3, a0 + slli a3, a0, 7 + sh3add a3, a0, a3 add a2, a2, a3 addi a2, a2, -96 addi a1, a1, 80 diff --git a/result/rvb23u64/cfec5d73aac22dec.S b/result/rvb23u64/cfec5d73aac22dec.S index c0e2582b422..ff1c8ad4333 100644 --- a/result/rvb23u64/cfec5d73aac22dec.S +++ b/result/rvb23u64/cfec5d73aac22dec.S @@ -101,8 +101,8 @@ func000000000000000f: # @func000000000000000f ret func0000000000000002: # @func0000000000000002 add a1, a1, a2 - li a2, 136 - mul a1, a1, a2 + slli a2, a1, 7 + sh3add a1, a1, a2 add a0, a0, a1 addi a0, a0, 272 ret diff --git a/result/rvb23u64/d0dc901d682129f0.S b/result/rvb23u64/d0dc901d682129f0.S index a65b181bec8..80a1f33c9b6 100644 --- a/result/rvb23u64/d0dc901d682129f0.S +++ b/result/rvb23u64/d0dc901d682129f0.S @@ -4,8 +4,8 @@ func0000000000000000: # @func0000000000000000 slli a2, a1, 32 add a0, a0, a1 add a0, a0, a2 - srli a1, a0, 8 - sh2add a0, a0, a0 - sh1add a0, a0, a1 + sh2add a1, a0, a0 + srli a0, a0, 8 + sh1add a0, a1, a0 srli a0, a0, 16 ret diff --git a/result/rvb23u64/d0e7c42f1211794c.S b/result/rvb23u64/d0e7c42f1211794c.S index 37a1955e5fd..cca2a565bd5 100644 --- a/result/rvb23u64/d0e7c42f1211794c.S +++ b/result/rvb23u64/d0e7c42f1211794c.S @@ -29,10 +29,9 @@ func0000000000000180: # @func0000000000000180 ret func000000000000018c: # @func000000000000018c sh2add a2, a2, a2 - slli a2, a2, 1 - srli a2, a2, 32 + srli a2, a2, 31 + add.uw a0, a2, a0 sh2add a1, a1, a1 slli a1, a1, 33 add a0, a0, a1 - add a0, a0, a2 ret diff --git a/result/rvb23u64/d0f2407d80aa6313.S b/result/rvb23u64/d0f2407d80aa6313.S index 31cda1a6d57..d75ba4f0d29 100644 --- a/result/rvb23u64/d0f2407d80aa6313.S +++ b/result/rvb23u64/d0f2407d80aa6313.S @@ -3,9 +3,8 @@ func000000000000007f: # @func000000000000007f slli a0, a0, 16 or a0, a0, a1 sh2add a0, a0, a0 - li a1, 10 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, 10 ret func0000000000000075: # @func0000000000000075 andi a1, a1, 255 diff --git a/result/rvb23u64/d1454bfb8bff1dd5.S b/result/rvb23u64/d1454bfb8bff1dd5.S index 271ad1147da..0ad2373c27d 100644 --- a/result/rvb23u64/d1454bfb8bff1dd5.S +++ b/result/rvb23u64/d1454bfb8bff1dd5.S @@ -9,22 +9,22 @@ func000000000000003c: # @func000000000000003c ret func0000000000000014: # @func0000000000000014 sh1add a1, a1, a1 - li a2, 7 - sh2add a1, a1, a2 + slli a1, a1, 2 + addi a1, a1, 7 andi a1, a1, -8 add a0, a0, a1 ret func0000000000000001: # @func0000000000000001 sh2add a1, a1, a1 - li a2, 15 - sh1add a1, a1, a2 + slli a1, a1, 1 + addi a1, a1, 15 andi a1, a1, -16 addw a0, a0, a1 ret func000000000000003d: # @func000000000000003d sh2add a1, a1, a1 - li a2, 15 - sh1add a1, a1, a2 + slli a1, a1, 1 + addi a1, a1, 15 lui a2, 524288 addi a2, a2, -16 and a1, a1, a2 @@ -32,15 +32,15 @@ func000000000000003d: # @func000000000000003d ret func0000000000000015: # @func0000000000000015 sh1add a1, a1, a1 - li a2, 7 - sh2add a1, a1, a2 + slli a1, a1, 2 + addi a1, a1, 7 andi a1, a1, -8 add a0, a0, a1 ret func0000000000000000: # @func0000000000000000 sh1add a1, a1, a1 - li a2, 7 - sh2add a1, a1, a2 + slli a1, a1, 2 + addi a1, a1, 7 andi a1, a1, -8 addw a0, a0, a1 ret diff --git a/result/rvb23u64/d19d1aa6c54360c2.S b/result/rvb23u64/d19d1aa6c54360c2.S index 62a4437653f..8618c942d23 100644 --- a/result/rvb23u64/d19d1aa6c54360c2.S +++ b/result/rvb23u64/d19d1aa6c54360c2.S @@ -6,8 +6,9 @@ func000000000000005a: # @func000000000000005a slt a0, a0, a1 ret func0000000000000048: # @func0000000000000048 - srai a1, a1, 2 - sh1add a1, a1, a1 + srai a2, a1, 2 + srli a1, a1, 1 + add a1, a1, a2 slli a1, a1, 1 sltu a0, a0, a1 ret diff --git a/result/rvb23u64/d1e5ed929f187110.S b/result/rvb23u64/d1e5ed929f187110.S index 4aba8025e24..b6dec4dad99 100644 --- a/result/rvb23u64/d1e5ed929f187110.S +++ b/result/rvb23u64/d1e5ed929f187110.S @@ -1,5 +1,5 @@ func0000000000000004: # @func0000000000000004 - sub a1, a1, a0 + subw a1, a1, a0 sh1add a0, a1, a1 slliw a0, a0, 1 ret diff --git a/result/rvb23u64/d2365c4a07875c03.S b/result/rvb23u64/d2365c4a07875c03.S index 8e3a26cb844..75036216557 100644 --- a/result/rvb23u64/d2365c4a07875c03.S +++ b/result/rvb23u64/d2365c4a07875c03.S @@ -1,5 +1,5 @@ func0000000000000002: # @func0000000000000002 sh1add a0, a0, a0 - li a1, 39 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 39 ret diff --git a/result/rvb23u64/d2865afd32d48332.S b/result/rvb23u64/d2865afd32d48332.S index 85662aea7b5..0d467c13033 100644 --- a/result/rvb23u64/d2865afd32d48332.S +++ b/result/rvb23u64/d2865afd32d48332.S @@ -8,7 +8,7 @@ func00000000000000c4: # @func00000000000000c4 func0000000000000084: # @func0000000000000084 sh2add a1, a1, a1 slliw a2, a1, 1 - slli a1, a1, 1 - addw a0, a0, a1 + sh1add a0, a1, a0 + sext.w a0, a0 sltu a0, a0, a2 ret diff --git a/result/rvb23u64/d2ffb552ee3871e0.S b/result/rvb23u64/d2ffb552ee3871e0.S index fdd05cf9846..257b4504a51 100644 --- a/result/rvb23u64/d2ffb552ee3871e0.S +++ b/result/rvb23u64/d2ffb552ee3871e0.S @@ -13,9 +13,9 @@ func0000000000000007: # @func0000000000000007 addi a0, a0, 4 ret func0000000000000006: # @func0000000000000006 - sext.w a1, a1 - srli a1, a1, 1 - sh1add a1, a1, a1 + srli a2, a1, 1 + andi a1, a1, -2 + add a1, a1, a2 slliw a1, a1, 1 add a0, a0, a1 addi a0, a0, 1 diff --git a/result/rvb23u64/d41655e929c310b8.S b/result/rvb23u64/d41655e929c310b8.S index 988dbd29414..996fe3899be 100644 --- a/result/rvb23u64/d41655e929c310b8.S +++ b/result/rvb23u64/d41655e929c310b8.S @@ -2,6 +2,6 @@ func00000000000000ce: # @func00000000000000ce sh2add a1, a1, a1 sh1add a0, a1, a0 sh2add a0, a0, a0 - li a1, 96 - sh1add a0, a0, a1 + slli a0, a0, 1 + addi a0, a0, 96 ret diff --git a/result/rvb23u64/d498e4277effd59d.S b/result/rvb23u64/d498e4277effd59d.S index 963eb1e7c8e..71ffcb92ed3 100644 --- a/result/rvb23u64/d498e4277effd59d.S +++ b/result/rvb23u64/d498e4277effd59d.S @@ -16,8 +16,8 @@ func0000000000000030: # @func0000000000000030 addiw a3, a3, -557 mul a2, a2, a3 srli a2, a2, 36 + sh1add a2, a2, a2 add a0, a0, a1 - sh1add a1, a2, a2 - sh1add a0, a1, a0 + sh1add a0, a2, a0 addiw a0, a0, 4 ret diff --git a/result/rvb23u64/d4d762813d1f9ce5.S b/result/rvb23u64/d4d762813d1f9ce5.S index a1b81160716..1401b6131d8 100644 --- a/result/rvb23u64/d4d762813d1f9ce5.S +++ b/result/rvb23u64/d4d762813d1f9ce5.S @@ -1,8 +1,8 @@ func0000000000000007: # @func0000000000000007 andi a1, a1, 1 czero.eqz a1, a2, a1 - li a2, 264 - mul a1, a1, a2 + slli a2, a1, 8 + sh3add a1, a1, a2 add a0, a0, a1 addi a0, a0, 136 ret diff --git a/result/rvb23u64/d4e765a3c4d0df4b.S b/result/rvb23u64/d4e765a3c4d0df4b.S index f92bebc9ffc..3a9691c693d 100644 --- a/result/rvb23u64/d4e765a3c4d0df4b.S +++ b/result/rvb23u64/d4e765a3c4d0df4b.S @@ -1,7 +1,7 @@ func0000000000000017: # @func0000000000000017 sh1add a0, a0, a0 - li a1, 60 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 60 ret func000000000000003f: # @func000000000000003f slli a0, a0, 3 @@ -16,7 +16,6 @@ func0000000000000000: # @func0000000000000000 ret func0000000000000001: # @func0000000000000001 sh1add a0, a0, a0 - li a1, 12 - sh2add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 2 + addiw a0, a0, 12 ret diff --git a/result/rvb23u64/d525a82912a2d49f.S b/result/rvb23u64/d525a82912a2d49f.S index 6052dc394ea..9cd6d678d62 100644 --- a/result/rvb23u64/d525a82912a2d49f.S +++ b/result/rvb23u64/d525a82912a2d49f.S @@ -1,6 +1,6 @@ func00000000000000f8: # @func00000000000000f8 - zext.w a2, a2 - sh2add a2, a2, a2 + zext.w a3, a2 + sh2add.uw a2, a2, a3 sh1add a1, a2, a1 srli a1, a1, 31 snez a1, a1 diff --git a/result/rvb23u64/d53a4d4f285c594c.S b/result/rvb23u64/d53a4d4f285c594c.S index 53bff8f6508..c3d357e88cf 100644 --- a/result/rvb23u64/d53a4d4f285c594c.S +++ b/result/rvb23u64/d53a4d4f285c594c.S @@ -35,8 +35,9 @@ func000000000000000f: # @func000000000000000f li a2, -1 slli a2, a2, 32 add a1, a1, a2 - srai a1, a1, 32 - sh1add a1, a1, a1 + srai a2, a1, 32 + srai a1, a1, 31 + add a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 8 ret diff --git a/result/rvb23u64/d577f05d6473d0f7.S b/result/rvb23u64/d577f05d6473d0f7.S index b50863f11cd..2e776d4c334 100644 --- a/result/rvb23u64/d577f05d6473d0f7.S +++ b/result/rvb23u64/d577f05d6473d0f7.S @@ -1,15 +1,15 @@ func0000000000000009: # @func0000000000000009 sh2add a2, a2, a2 - slli a2, a2, 1 - mul a1, a1, a2 - add a1, a1, a2 + slli a3, a2, 1 + mul a1, a1, a3 + sh1add a1, a2, a1 sltu a0, a0, a1 xori a0, a0, 1 ret func0000000000000004: # @func0000000000000004 sh2add a2, a2, a2 - slli a2, a2, 1 - mul a1, a1, a2 - add a1, a1, a2 + slli a3, a2, 1 + mul a1, a1, a3 + sh1add a1, a2, a1 sltu a0, a0, a1 ret diff --git a/result/rvb23u64/d57b6620e40381eb.S b/result/rvb23u64/d57b6620e40381eb.S index d6933fc072e..b2672727458 100644 --- a/result/rvb23u64/d57b6620e40381eb.S +++ b/result/rvb23u64/d57b6620e40381eb.S @@ -1,5 +1,5 @@ func0000000000000000: # @func0000000000000000 sh1add a0, a0, a0 - li a1, 8 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 8 ret diff --git a/result/rvb23u64/d616f5265f736cf3.S b/result/rvb23u64/d616f5265f736cf3.S index c8b7c1042c0..b172e59d6b4 100644 --- a/result/rvb23u64/d616f5265f736cf3.S +++ b/result/rvb23u64/d616f5265f736cf3.S @@ -56,8 +56,8 @@ func0000000000000008: # @func0000000000000008 ret func0000000000000001: # @func0000000000000001 addi a2, a2, -1 - zext.w a2, a2 - sh1add a2, a2, a2 + zext.w a3, a2 + sh1add.uw a2, a2, a3 sh2add a1, a2, a1 sh2add a0, a0, a1 ret diff --git a/result/rvb23u64/d624f63b20c9c3ae.S b/result/rvb23u64/d624f63b20c9c3ae.S index d37e06f658c..b7863f9ebc3 100644 --- a/result/rvb23u64/d624f63b20c9c3ae.S +++ b/result/rvb23u64/d624f63b20c9c3ae.S @@ -1,7 +1,9 @@ func0000000000000007: # @func0000000000000007 - srli a0, a0, 1 - slli.uw a0, a0, 2 - sh1add a0, a0, a0 + srli a1, a0, 1 + slli a0, a0, 31 + srli a0, a0, 32 + sh1add.uw a0, a1, a0 + slli a0, a0, 2 ret func0000000000000003: # @func0000000000000003 srai a0, a0, 32 diff --git a/result/rvb23u64/d62d5121009f2a19.S b/result/rvb23u64/d62d5121009f2a19.S index b5b224e1388..20d33f00747 100644 --- a/result/rvb23u64/d62d5121009f2a19.S +++ b/result/rvb23u64/d62d5121009f2a19.S @@ -1,10 +1,11 @@ func0000000000000007: # @func0000000000000007 slli a2, a2, 3 srli a2, a2, 35 - neg a2, a2 - sh1add a2, a2, a2 - sh2add a1, a2, a1 + neg a3, a2 + slli a2, a2, 2 + sub a1, a1, a2 sh1add a0, a0, a0 + sh1add a0, a3, a0 sh2add a0, a0, a1 ret func0000000000000004: # @func0000000000000004 diff --git a/result/rvb23u64/d6d791c1a5c6ad11.S b/result/rvb23u64/d6d791c1a5c6ad11.S index de8603d3a3f..fa8a3afa835 100644 --- a/result/rvb23u64/d6d791c1a5c6ad11.S +++ b/result/rvb23u64/d6d791c1a5c6ad11.S @@ -1,7 +1,7 @@ func000000000000003f: # @func000000000000003f sh2add a2, a2, a2 - li a3, 32 - sh1add a2, a2, a3 + slli a2, a2, 1 + addi a2, a2, 32 andi a2, a2, 254 add a0, a0, a1 addw a0, a0, a2 diff --git a/result/rvb23u64/d75f43d600cca8c6.S b/result/rvb23u64/d75f43d600cca8c6.S index ab808ecda91..f8753cf1b5f 100644 --- a/result/rvb23u64/d75f43d600cca8c6.S +++ b/result/rvb23u64/d75f43d600cca8c6.S @@ -5,8 +5,8 @@ func0000000000000004: # @func0000000000000004 sltu a0, a1, a0 ret func0000000000000031: # @func0000000000000031 - zext.w a2, a2 - sh1add a2, a2, a2 + zext.w a3, a2 + sh1add.uw a2, a2, a3 sh2add a1, a2, a1 addi a1, a1, 12 xor a0, a0, a1 diff --git a/result/rvb23u64/d79d46018eeaf041.S b/result/rvb23u64/d79d46018eeaf041.S index a02df2a861d..5d0c242b55a 100644 --- a/result/rvb23u64/d79d46018eeaf041.S +++ b/result/rvb23u64/d79d46018eeaf041.S @@ -6,8 +6,8 @@ func0000000000000003: # @func0000000000000003 sh3add a0, a1, a0 ret func0000000000000001: # @func0000000000000001 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh2add a0, a1, a0 ret func0000000000000002: # @func0000000000000002 diff --git a/result/rvb23u64/d7bab6cef1252e7f.S b/result/rvb23u64/d7bab6cef1252e7f.S index f0f2e0e0d45..aa6c80eb0ae 100644 --- a/result/rvb23u64/d7bab6cef1252e7f.S +++ b/result/rvb23u64/d7bab6cef1252e7f.S @@ -16,16 +16,15 @@ func0000000000000001: # @func0000000000000001 ret func0000000000000000: # @func0000000000000000 sh1add a0, a0, a0 - slli a1, a0, 1 slliw a0, a0, 1 - lui a2, 274878 - addiw a2, a2, -381 - mul a0, a0, a2 - srli a2, a0, 63 - srai a0, a0, 50 - add a0, a0, a2 + lui a1, 274878 + addiw a1, a1, -381 + mul a1, a1, a0 + srli a2, a1, 63 + srai a1, a1, 50 + add a1, a1, a2 lui a2, 244 addi a2, a2, 576 - mul a0, a0, a2 - subw a0, a1, a0 + mul a1, a1, a2 + subw a0, a0, a1 ret diff --git a/result/rvb23u64/d7f90aee8acb9d70.S b/result/rvb23u64/d7f90aee8acb9d70.S index c94437fe992..e6a8653b2a6 100644 --- a/result/rvb23u64/d7f90aee8acb9d70.S +++ b/result/rvb23u64/d7f90aee8acb9d70.S @@ -1,8 +1,9 @@ func0000000000000003: # @func0000000000000003 srli a2, a1, 63 add a1, a1, a2 - srai a1, a1, 1 - sh1add a1, a1, a1 + srli a2, a1, 1 + andi a1, a1, -2 + add a1, a1, a2 sh3add a0, a1, a0 ret .LCPI1_0: diff --git a/result/rvb23u64/d8133907806e2ab8.S b/result/rvb23u64/d8133907806e2ab8.S index 9dc474cda13..8a83b10135a 100644 --- a/result/rvb23u64/d8133907806e2ab8.S +++ b/result/rvb23u64/d8133907806e2ab8.S @@ -1,8 +1,8 @@ func000000000000006b: # @func000000000000006b - zext.w a0, a0 - sh1add a0, a0, a0 - li a1, -12 - sh2add a0, a0, a1 + zext.w a1, a0 + sh1add.uw a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, -12 lui a1, 699051 addiw a1, a1, -1365 slli a2, a1, 32 diff --git a/result/rvb23u64/d83968eaf2ed9a98.S b/result/rvb23u64/d83968eaf2ed9a98.S index bc3d029b9e6..c171312dabd 100644 --- a/result/rvb23u64/d83968eaf2ed9a98.S +++ b/result/rvb23u64/d83968eaf2ed9a98.S @@ -13,10 +13,10 @@ func0000000000000007: # @func0000000000000007 mul a0, a0, a1 ret func000000000000000f: # @func000000000000000f - zext.w a0, a0 - sh1add a0, a0, a0 - li a1, 48 - sh3add a0, a0, a1 + zext.w a1, a0 + sh1add.uw a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 48 ret func000000000000000d: # @func000000000000000d andi a0, a0, 255 diff --git a/result/rvb23u64/d84e12a2a9a9cd34.S b/result/rvb23u64/d84e12a2a9a9cd34.S index e07d2e03f4a..4c61387e5af 100644 --- a/result/rvb23u64/d84e12a2a9a9cd34.S +++ b/result/rvb23u64/d84e12a2a9a9cd34.S @@ -1,6 +1,6 @@ func0000000000000000: # @func0000000000000000 sh1add a0, a0, a0 - li a1, 15 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 15 andi a0, a0, -16 ret diff --git a/result/rvb23u64/d8a4921d0c3ee7ab.S b/result/rvb23u64/d8a4921d0c3ee7ab.S index b3f70c06cff..f9be070592b 100644 --- a/result/rvb23u64/d8a4921d0c3ee7ab.S +++ b/result/rvb23u64/d8a4921d0c3ee7ab.S @@ -1,8 +1,9 @@ func0000000000000001: # @func0000000000000001 andi a2, a2, 1 - sh1add a2, a2, a2 - sh2add a1, a2, a1 + slli a3, a2, 2 + sh3add a2, a2, a3 add a0, a0, a1 + add a0, a0, a2 ret func0000000000000000: # @func0000000000000000 andi a2, a2, 1 diff --git a/result/rvb23u64/d8f9e7a7c6a68a87.S b/result/rvb23u64/d8f9e7a7c6a68a87.S index 7e8f976109f..3a29da43b9c 100644 --- a/result/rvb23u64/d8f9e7a7c6a68a87.S +++ b/result/rvb23u64/d8f9e7a7c6a68a87.S @@ -17,7 +17,8 @@ func0000000000000033: # @func0000000000000033 func000000000000003b: # @func000000000000003b slli a1, a1, 8 or a0, a0, a1 - srliw a0, a0, 1 - sh1add a0, a0, a0 + andi a1, a0, -2 + srli a0, a0, 1 + add a0, a0, a1 slliw a0, a0, 1 ret diff --git a/result/rvb23u64/d908afb1e3d04f7b.S b/result/rvb23u64/d908afb1e3d04f7b.S index d4c9651ae5c..75132b37a87 100644 --- a/result/rvb23u64/d908afb1e3d04f7b.S +++ b/result/rvb23u64/d908afb1e3d04f7b.S @@ -4,6 +4,6 @@ func0000000000000000: # @func0000000000000000 czero.eqz a0, a1, a0 or a0, a0, a2 sh2add a0, a0, a0 - slli a0, a0, 1 - zext.w a0, a0 + slli a0, a0, 33 + srli a0, a0, 32 ret diff --git a/result/rvb23u64/d94261e221d7633a.S b/result/rvb23u64/d94261e221d7633a.S index 00d68b6b7c5..d4e11d6eac6 100644 --- a/result/rvb23u64/d94261e221d7633a.S +++ b/result/rvb23u64/d94261e221d7633a.S @@ -8,8 +8,8 @@ func000000000000001f: # @func000000000000001f andi a1, a1, 255 or a0, a0, a1 sh1add a0, a0, a0 - li a1, 132 - sh2add a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, 132 ret func000000000000001d: # @func000000000000001d andi a1, a1, 255 diff --git a/result/rvb23u64/d9d333f643f7c45d.S b/result/rvb23u64/d9d333f643f7c45d.S index 159972f8704..a1202575037 100644 --- a/result/rvb23u64/d9d333f643f7c45d.S +++ b/result/rvb23u64/d9d333f643f7c45d.S @@ -42,8 +42,8 @@ func0000000000000015: # @func0000000000000015 ret func000000000000003f: # @func000000000000003f sh1add a2, a2, a2 - slli a2, a2, 2 - srliw a2, a2, 3 + slli a2, a2, 34 + srli a2, a2, 35 add a0, a0, a1 addw a0, a0, a2 ret diff --git a/result/rvb23u64/daa3d12a5f112ce3.S b/result/rvb23u64/daa3d12a5f112ce3.S index 9f00c5feb13..46391e41303 100644 --- a/result/rvb23u64/daa3d12a5f112ce3.S +++ b/result/rvb23u64/daa3d12a5f112ce3.S @@ -25,7 +25,7 @@ func0000000000000001: # @func0000000000000001 addiw a2, a2, -1365 mul a1, a1, a2 srli a2, a1, 63 - srli a1, a1, 33 + srai a1, a1, 33 add a1, a1, a2 sh1add a1, a1, a1 slli a1, a1, 2 diff --git a/result/rvb23u64/dab80037f8ef0316.S b/result/rvb23u64/dab80037f8ef0316.S index b2b69dee952..b26558c0a11 100644 --- a/result/rvb23u64/dab80037f8ef0316.S +++ b/result/rvb23u64/dab80037f8ef0316.S @@ -5,8 +5,9 @@ func0000000000000001: # @func0000000000000001 slli a2, a1, 32 add a1, a1, a2 mulhu a0, a0, a1 - srli a0, a0, 1 - sh1add a0, a0, a0 - li a1, 1 - sh1add a0, a0, a1 + srli a1, a0, 1 + andi a0, a0, -2 + add a0, a0, a1 + slli a0, a0, 1 + addi a0, a0, 1 ret diff --git a/result/rvb23u64/db04d57c6d75e557.S b/result/rvb23u64/db04d57c6d75e557.S index 440a0e85dc4..6d39450d4da 100644 --- a/result/rvb23u64/db04d57c6d75e557.S +++ b/result/rvb23u64/db04d57c6d75e557.S @@ -4,9 +4,9 @@ func00000000000000f8: # @func00000000000000f8 sh2add a1, a1, a1 sh1add a1, a1, a3 sh2add a0, a0, a0 - slli a0, a0, 1 - add a2, a2, a0 - sltu a0, a2, a0 + slli a3, a0, 1 + sh1add a0, a0, a2 + sltu a0, a0, a3 add a0, a0, a1 ret func0000000000000028: # @func0000000000000028 diff --git a/result/rvb23u64/db533902c3afc039.S b/result/rvb23u64/db533902c3afc039.S index 50f15edd20e..ea6591afdf8 100644 --- a/result/rvb23u64/db533902c3afc039.S +++ b/result/rvb23u64/db533902c3afc039.S @@ -5,8 +5,8 @@ func0000000000000000: # @func0000000000000000 ret func0000000000000003: # @func0000000000000003 andi a2, a2, 255 - li a3, 132 - mul a2, a2, a3 + slli a3, a2, 7 + sh2add a2, a2, a3 add a1, a1, a2 sh2add a0, a0, a1 ret diff --git a/result/rvb23u64/db6408801cd9baea.S b/result/rvb23u64/db6408801cd9baea.S index c8385784f09..6551f41beed 100644 --- a/result/rvb23u64/db6408801cd9baea.S +++ b/result/rvb23u64/db6408801cd9baea.S @@ -27,8 +27,8 @@ func0000000000000001: # @func0000000000000001 func0000000000000000: # @func0000000000000000 srli a2, a2, 7 mul a1, a1, a2 - li a2, 136 - mul a1, a1, a2 + slli a2, a1, 7 + sh3add a1, a1, a2 add a0, a0, a1 ret func0000000000000003: # @func0000000000000003 diff --git a/result/rvb23u64/db64eb810f130723.S b/result/rvb23u64/db64eb810f130723.S index b1c3457bcef..afc184b5f88 100644 --- a/result/rvb23u64/db64eb810f130723.S +++ b/result/rvb23u64/db64eb810f130723.S @@ -14,9 +14,9 @@ func0000000000000070: # @func0000000000000070 ret func000000000000000f: # @func000000000000000f add a1, a1, a2 + zext.w a1, a1 sh1add a0, a0, a0 - slli a0, a0, 2 - add.uw a0, a1, a0 + sh2add a0, a0, a1 ret func0000000000000005: # @func0000000000000005 add a1, a1, a2 diff --git a/result/rvb23u64/dbba07a355562bc8.S b/result/rvb23u64/dbba07a355562bc8.S index a880dc80785..1a95fdcafb1 100644 --- a/result/rvb23u64/dbba07a355562bc8.S +++ b/result/rvb23u64/dbba07a355562bc8.S @@ -9,8 +9,7 @@ func0000000000000004: # @func0000000000000004 mulhu a0, a0, a1 ret func0000000000000000: # @func0000000000000000 - andi a0, a0, 127 sh2add a0, a0, a0 - slli a0, a0, 1 - andi a0, a0, 254 + slli a0, a0, 57 + srli a0, a0, 56 ret diff --git a/result/rvb23u64/dbdebd1caf00be5d.S b/result/rvb23u64/dbdebd1caf00be5d.S index ec57ae292ba..5504c5a3e3c 100644 --- a/result/rvb23u64/dbdebd1caf00be5d.S +++ b/result/rvb23u64/dbdebd1caf00be5d.S @@ -1,6 +1,6 @@ func0000000000000002: # @func0000000000000002 sh1add a0, a0, a0 - li a1, 39 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 39 andi a0, a0, -16 ret diff --git a/result/rvb23u64/dbdee215d91cb794.S b/result/rvb23u64/dbdee215d91cb794.S index 47ba582e70c..7ea1f6c2b6e 100644 --- a/result/rvb23u64/dbdee215d91cb794.S +++ b/result/rvb23u64/dbdee215d91cb794.S @@ -1,7 +1,7 @@ func000000000000000f: # @func000000000000000f sext.b a1, a1 - sext.b a0, a0 sh2add a1, a1, a1 + sext.b a0, a0 sh1add a0, a1, a0 ret func0000000000000005: # @func0000000000000005 diff --git a/result/rvb23u64/dc1c0e2ee7435627.S b/result/rvb23u64/dc1c0e2ee7435627.S index 7576d74a859..8cec6cfe251 100644 --- a/result/rvb23u64/dc1c0e2ee7435627.S +++ b/result/rvb23u64/dc1c0e2ee7435627.S @@ -9,8 +9,8 @@ func0000000000000006: # @func0000000000000006 ret func0000000000000007: # @func0000000000000007 sh1add a1, a1, a1 - slli a1, a1, 1 - srliw a1, a1, 3 + slli a1, a1, 33 + srli a1, a1, 35 add a0, a0, a1 addi a0, a0, 16 ret diff --git a/result/rvb23u64/dc6559930308156d.S b/result/rvb23u64/dc6559930308156d.S index 786788c4a3b..273625fab96 100644 --- a/result/rvb23u64/dc6559930308156d.S +++ b/result/rvb23u64/dc6559930308156d.S @@ -1,8 +1,8 @@ func0000000000000024: # @func0000000000000024 sh3add a2, a2, a2 - slli a2, a2, 2 zext.h a1, a1 - zext.h a2, a2 + slli a2, a2, 50 + srli a2, a2, 48 divuw a1, a2, a1 addw a0, a0, a1 ret diff --git a/result/rvb23u64/dc84c5c76267a6e3.S b/result/rvb23u64/dc84c5c76267a6e3.S index 86b6d3b0f62..daffcbb2870 100644 --- a/result/rvb23u64/dc84c5c76267a6e3.S +++ b/result/rvb23u64/dc84c5c76267a6e3.S @@ -32,8 +32,8 @@ func0000000000000005: # @func0000000000000005 addi a0, a0, 8 ret func0000000000000001: # @func0000000000000001 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 8 ret diff --git a/result/rvb23u64/dc90bbe173c68181.S b/result/rvb23u64/dc90bbe173c68181.S index c734809e7f5..91f12cf2a23 100644 --- a/result/rvb23u64/dc90bbe173c68181.S +++ b/result/rvb23u64/dc90bbe173c68181.S @@ -64,8 +64,9 @@ func0000000000000000: # @func0000000000000000 sraiw a2, a1, 31 srliw a2, a2, 30 add a1, a1, a2 - sraiw a1, a1, 2 - sh2add a1, a1, a1 + sraiw a2, a1, 2 + andi a1, a1, -4 + add a1, a1, a2 sh2add a0, a1, a0 addiw a0, a0, 1092 ret diff --git a/result/rvb23u64/dd1924f69a77aa4b.S b/result/rvb23u64/dd1924f69a77aa4b.S index f92c48d9c9c..873cd59db17 100644 --- a/result/rvb23u64/dd1924f69a77aa4b.S +++ b/result/rvb23u64/dd1924f69a77aa4b.S @@ -1,6 +1,5 @@ func0000000000000005: # @func0000000000000005 - sext.w a1, a1 - srli a1, a1, 1 + sraiw a1, a1, 1 add a0, a0, a1 sh1add a0, a0, a0 slliw a0, a0, 2 diff --git a/result/rvb23u64/dd3db1dd49b72cc7.S b/result/rvb23u64/dd3db1dd49b72cc7.S index 68f3a9bec73..8559ed919c9 100644 --- a/result/rvb23u64/dd3db1dd49b72cc7.S +++ b/result/rvb23u64/dd3db1dd49b72cc7.S @@ -14,12 +14,14 @@ func000000000000000f: # @func000000000000000f sub a0, a0, a2 ret func0000000000000004: # @func0000000000000004 - sh1add a2, a0, a0 - sh3add a1, a2, a1 + slli a2, a0, 4 + sh3add a2, a0, a2 + add a1, a1, a2 sh3add a0, a0, a1 ret func000000000000000c: # @func000000000000000c - sh1add a2, a0, a0 - sh3add a1, a2, a1 + slli a2, a0, 4 + sh3add a2, a0, a2 + add a1, a1, a2 sh3add a0, a0, a1 ret diff --git a/result/rvb23u64/dd52c862958e1143.S b/result/rvb23u64/dd52c862958e1143.S index d27fad1c48e..1836b36e66b 100644 --- a/result/rvb23u64/dd52c862958e1143.S +++ b/result/rvb23u64/dd52c862958e1143.S @@ -1,6 +1,6 @@ func0000000000000000: # @func0000000000000000 sext.w a0, a0 sh1add a0, a0, a0 - li a1, 8 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 8 ret diff --git a/result/rvb23u64/dde7673e7b3de2f1.S b/result/rvb23u64/dde7673e7b3de2f1.S index 108e53b84f7..db0adbef2be 100644 --- a/result/rvb23u64/dde7673e7b3de2f1.S +++ b/result/rvb23u64/dde7673e7b3de2f1.S @@ -7,7 +7,8 @@ func0000000000000003: # @func0000000000000003 ret func000000000000000b: # @func000000000000000b or a0, a0, a1 - srliw a0, a0, 1 - sh1add a0, a0, a0 + andi a1, a0, -2 + srli a0, a0, 1 + add a0, a0, a1 slliw a0, a0, 1 ret diff --git a/result/rvb23u64/de52b28a355f44b8.S b/result/rvb23u64/de52b28a355f44b8.S index c15270802e3..c188838be08 100644 --- a/result/rvb23u64/de52b28a355f44b8.S +++ b/result/rvb23u64/de52b28a355f44b8.S @@ -41,8 +41,8 @@ func000000000000007f: # @func000000000000007f ret func0000000000000000: # @func0000000000000000 sh1add a2, a2, a2 - slli a2, a2, 1 - zext.w a2, a2 + slli a2, a2, 33 + srli a2, a2, 32 mul a1, a1, a2 add a0, a0, a1 ret diff --git a/result/rvb23u64/de556e5ed2adb822.S b/result/rvb23u64/de556e5ed2adb822.S index aa43c21b8a3..71194b2cd7a 100644 --- a/result/rvb23u64/de556e5ed2adb822.S +++ b/result/rvb23u64/de556e5ed2adb822.S @@ -1,14 +1,16 @@ func0000000000000015: # @func0000000000000015 - srai a0, a0, 32 - sh1add a0, a0, a0 - li a1, 32 - sh3add a0, a0, a1 + srai a1, a0, 32 + srai a0, a0, 31 + add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 32 ret func0000000000000010: # @func0000000000000010 - srai a0, a0, 3 - sh1add a0, a0, a0 - li a1, 24 - sh3add a0, a0, a1 + srli a1, a0, 3 + srli a0, a0, 2 + add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 24 ret func000000000000001f: # @func000000000000001f srai a1, a0, 4 @@ -25,8 +27,8 @@ func0000000000000000: # @func0000000000000000 func0000000000000005: # @func0000000000000005 srai a0, a0, 32 sh2add a0, a0, a0 - li a1, 8 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 8 ret func0000000000000004: # @func0000000000000004 sraiw a0, a0, 1 @@ -42,20 +44,23 @@ func000000000000000f: # @func000000000000000f addiw a0, a0, 378 ret func0000000000000011: # @func0000000000000011 - srai a0, a0, 3 - sh1add a0, a0, a0 - li a1, -4 - sh2add a0, a0, a1 + srai a1, a0, 3 + srli a0, a0, 2 + add a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, -4 ret func000000000000001a: # @func000000000000001a - srai a0, a0, 4 - sh1add a0, a0, a0 - li a1, 24 - sh3add a0, a0, a1 + srai a1, a0, 4 + srli a0, a0, 3 + add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 24 ret func000000000000001d: # @func000000000000001d - srai a0, a0, 32 - sh1add a0, a0, a0 - li a1, -24 - sh3add a0, a0, a1 + srai a1, a0, 32 + srai a0, a0, 31 + add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, -24 ret diff --git a/result/rvb23u64/deb2728649e83c95.S b/result/rvb23u64/deb2728649e83c95.S index dcf86c7c038..de302092b06 100644 --- a/result/rvb23u64/deb2728649e83c95.S +++ b/result/rvb23u64/deb2728649e83c95.S @@ -1,6 +1,7 @@ func000000000000003f: # @func000000000000003f - slli.uw a1, a1, 2 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 + slli a1, a1, 2 sh2add a0, a0, a1 ret func000000000000002c: # @func000000000000002c diff --git a/result/rvb23u64/df7d84f038f8c397.S b/result/rvb23u64/df7d84f038f8c397.S index fa1a696357b..2a5cacdedc4 100644 --- a/result/rvb23u64/df7d84f038f8c397.S +++ b/result/rvb23u64/df7d84f038f8c397.S @@ -1,11 +1,11 @@ func000000000000001f: # @func000000000000001f - zext.w a1, a1 + zext.w a2, a1 + sh2add.uw a1, a1, a2 li a2, -48 zext.w a2, a2 add a0, a0, a2 addi a2, a2, 46 and a0, a0, a2 - sh2add a1, a1, a1 sh1add a0, a1, a0 ret func000000000000003f: # @func000000000000003f @@ -19,7 +19,8 @@ func000000000000003f: # @func000000000000003f func000000000000002f: # @func000000000000002f li a2, -48 add a1, a1, a2 - slli.uw a0, a0, 1 - sh2add a0, a0, a0 - add.uw a0, a1, a0 + zext.w a1, a1 + zext.w a2, a0 + sh2add.uw a0, a0, a2 + sh1add a0, a0, a1 ret diff --git a/result/rvb23u64/e05cef027cb545ae.S b/result/rvb23u64/e05cef027cb545ae.S index 1f97334f15f..743f80f5ad4 100644 --- a/result/rvb23u64/e05cef027cb545ae.S +++ b/result/rvb23u64/e05cef027cb545ae.S @@ -1,12 +1,13 @@ func000000000000000f: # @func000000000000000f andi a1, a1, 3 + slli a2, a1, 1 + sh3add a1, a1, a2 andi a0, a0, 15 - sh2add a1, a1, a1 - sh1add a0, a1, a0 + add a0, a0, a1 ret func000000000000000a: # @func000000000000000a andi a1, a1, 15 - andi a0, a0, 15 sh2add a1, a1, a1 + andi a0, a0, 15 sh1add a0, a1, a0 ret diff --git a/result/rvb23u64/e0b2e7475248992e.S b/result/rvb23u64/e0b2e7475248992e.S index 66cfc4e4283..fb1029a3029 100644 --- a/result/rvb23u64/e0b2e7475248992e.S +++ b/result/rvb23u64/e0b2e7475248992e.S @@ -1,7 +1,6 @@ func0000000000000008: # @func0000000000000008 sh1add a1, a1, a1 - li a2, 24 - sh2add a1, a1, a2 - sext.w a1, a1 + slli a1, a1, 2 + addiw a1, a1, 24 sltu a0, a1, a0 ret diff --git a/result/rvb23u64/e0d9a4f0870a432e.S b/result/rvb23u64/e0d9a4f0870a432e.S index dd5b66add2b..4051a9fe585 100644 --- a/result/rvb23u64/e0d9a4f0870a432e.S +++ b/result/rvb23u64/e0d9a4f0870a432e.S @@ -23,6 +23,7 @@ func0000000000000002: # @func0000000000000002 ret func0000000000000007: # @func0000000000000007 sh1add a0, a0, a0 - slli.uw a0, a0, 2 - sh1add a0, a0, a0 + zext.w a1, a0 + sh1add.uw a0, a0, a1 + slli a0, a0, 2 ret diff --git a/result/rvb23u64/e1138be0d40c877a.S b/result/rvb23u64/e1138be0d40c877a.S index d81ee5532b7..b5f3cafbe0f 100644 --- a/result/rvb23u64/e1138be0d40c877a.S +++ b/result/rvb23u64/e1138be0d40c877a.S @@ -6,8 +6,8 @@ func0000000000000009: # @func0000000000000009 ret func000000000000007c: # @func000000000000007c sh1add a1, a1, a1 - li a2, 6 - sh1add a1, a1, a2 + slli a1, a1, 1 + addi a1, a1, 6 zext.h a1, a1 mulw a0, a0, a1 ret diff --git a/result/rvb23u64/e150c0fccfe4fc4d.S b/result/rvb23u64/e150c0fccfe4fc4d.S index 2459980a5ac..99419cfe65c 100644 --- a/result/rvb23u64/e150c0fccfe4fc4d.S +++ b/result/rvb23u64/e150c0fccfe4fc4d.S @@ -5,15 +5,17 @@ func0000000000000007: # @func0000000000000007 ret func0000000000000004: # @func0000000000000004 sub a2, a2, a1 - srai a2, a2, 2 - sh1add a1, a2, a2 + srli a1, a2, 2 + srli a2, a2, 1 + add a1, a1, a2 sh2add a0, a1, a0 addi a0, a0, -12 ret func0000000000000005: # @func0000000000000005 sub a2, a2, a1 - srai a2, a2, 3 - sh1add a1, a2, a2 + srli a1, a2, 3 + srli a2, a2, 2 + add a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 8 ret diff --git a/result/rvb23u64/e1659e9ea880ddd5.S b/result/rvb23u64/e1659e9ea880ddd5.S index 57b1f420d80..972716da569 100644 --- a/result/rvb23u64/e1659e9ea880ddd5.S +++ b/result/rvb23u64/e1659e9ea880ddd5.S @@ -2,10 +2,10 @@ func000000000000001e: # @func000000000000001e li a3, 10 mulhu a3, a2, a3 sh2add a2, a2, a2 - slli a2, a2, 1 + slli a4, a2, 1 add a1, a1, a3 - add a0, a0, a2 - sltu a0, a0, a2 + sh1add a0, a2, a0 + sltu a0, a0, a4 add a0, a0, a1 li a1, 0 ret diff --git a/result/rvb23u64/e17348f29744247c.S b/result/rvb23u64/e17348f29744247c.S index 8fee8120daf..125c4b7c527 100644 --- a/result/rvb23u64/e17348f29744247c.S +++ b/result/rvb23u64/e17348f29744247c.S @@ -9,18 +9,17 @@ func0000000000000001: # @func0000000000000001 lui a2, 2441 addi a2, a2, 1664 mul a1, a1, a2 - sub a0, a0, a1 + subw a0, a0, a1 sh1add a0, a0, a0 - slli a1, a0, 1 slliw a0, a0, 1 - lui a2, 274878 - addiw a2, a2, -381 - mul a0, a0, a2 - srli a2, a0, 63 - srai a0, a0, 50 - add a0, a0, a2 + lui a1, 274878 + addiw a1, a1, -381 + mul a1, a1, a0 + srli a2, a1, 63 + srai a1, a1, 50 + add a1, a1, a2 lui a2, 244 addi a2, a2, 576 - mul a0, a0, a2 - subw a0, a1, a0 + mul a1, a1, a2 + subw a0, a0, a1 ret diff --git a/result/rvb23u64/e17aea5e9fa17f29.S b/result/rvb23u64/e17aea5e9fa17f29.S index 4e081530f32..0af8bb56b1a 100644 --- a/result/rvb23u64/e17aea5e9fa17f29.S +++ b/result/rvb23u64/e17aea5e9fa17f29.S @@ -28,8 +28,8 @@ func000000000000000f: # @func000000000000000f add a0, a0, a1 ret func0000000000000009: # @func0000000000000009 - srliw a0, a0, 16 sh2add a1, a1, a1 + srliw a0, a0, 16 sh1add a0, a1, a0 sext.w a0, a0 ret diff --git a/result/rvb23u64/e18bf287b1ffffcf.S b/result/rvb23u64/e18bf287b1ffffcf.S index 786788c4a3b..273625fab96 100644 --- a/result/rvb23u64/e18bf287b1ffffcf.S +++ b/result/rvb23u64/e18bf287b1ffffcf.S @@ -1,8 +1,8 @@ func0000000000000024: # @func0000000000000024 sh3add a2, a2, a2 - slli a2, a2, 2 zext.h a1, a1 - zext.h a2, a2 + slli a2, a2, 50 + srli a2, a2, 48 divuw a1, a2, a1 addw a0, a0, a1 ret diff --git a/result/rvb23u64/e1f87c88ca237a0b.S b/result/rvb23u64/e1f87c88ca237a0b.S index defb7f039ed..425ad47c91c 100644 --- a/result/rvb23u64/e1f87c88ca237a0b.S +++ b/result/rvb23u64/e1f87c88ca237a0b.S @@ -5,9 +5,11 @@ func0000000000000017: # @func0000000000000017 slli a3, a2, 32 add a2, a2, a3 mul a1, a1, a2 - neg a1, a1 - sh1add a1, a1, a1 - sh3add a0, a1, a0 + neg a2, a1 + slli a1, a1, 3 + slli a2, a2, 4 + sub a0, a0, a1 + add a0, a0, a2 addi a0, a0, -24 ret func0000000000000007: # @func0000000000000007 diff --git a/result/rvb23u64/e22fa4e9116f0262.S b/result/rvb23u64/e22fa4e9116f0262.S index addf6078022..dc1618cdabc 100644 --- a/result/rvb23u64/e22fa4e9116f0262.S +++ b/result/rvb23u64/e22fa4e9116f0262.S @@ -2,9 +2,8 @@ func0000000000000025: # @func0000000000000025 zext.h a0, a0 subw a0, a0, a1 sh2add a0, a0, a0 - li a1, 10 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, 10 ret func0000000000000000: # @func0000000000000000 andi a0, a0, 255 diff --git a/result/rvb23u64/e2c91e731c853e95.S b/result/rvb23u64/e2c91e731c853e95.S index 3dc5c5fc10f..64fdc65fc22 100644 --- a/result/rvb23u64/e2c91e731c853e95.S +++ b/result/rvb23u64/e2c91e731c853e95.S @@ -19,8 +19,8 @@ func0000000000000005: # @func0000000000000005 func0000000000000009: # @func0000000000000009 andi a0, a0, 1 slliw a2, a1, 1 - sh1add a1, a1, a1 - slliw a1, a1, 1 + sh2add a1, a1, a2 + sext.w a1, a1 czero.nez a2, a2, a0 czero.eqz a0, a1, a0 or a0, a0, a2 @@ -28,8 +28,9 @@ func0000000000000009: # @func0000000000000009 func0000000000000001: # @func0000000000000001 andi a0, a0, 1 slliw a2, a1, 3 - sh2add a1, a1, a1 - slliw a1, a1, 1 + slli a3, a1, 1 + sh3add a1, a1, a3 + sext.w a1, a1 czero.nez a2, a2, a0 czero.eqz a0, a1, a0 or a0, a0, a2 diff --git a/result/rvb23u64/e338f3b79d0f83ee.S b/result/rvb23u64/e338f3b79d0f83ee.S index d72e6f72fce..d9a3269b95d 100644 --- a/result/rvb23u64/e338f3b79d0f83ee.S +++ b/result/rvb23u64/e338f3b79d0f83ee.S @@ -14,7 +14,7 @@ func0000000000000003: # @func0000000000000003 ret func0000000000000001: # @func0000000000000001 and a1, a1, a2 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh2add a0, a1, a0 ret diff --git a/result/rvb23u64/e34e7381c0c5302d.S b/result/rvb23u64/e34e7381c0c5302d.S index ef572e25655..6919d1ee2e4 100644 --- a/result/rvb23u64/e34e7381c0c5302d.S +++ b/result/rvb23u64/e34e7381c0c5302d.S @@ -4,7 +4,7 @@ func00000000000000cf: # @func00000000000000cf addi a0, a0, 20 ret func0000000000000001: # @func0000000000000001 - zext.w a1, a1 - sh2add a1, a1, a1 + zext.w a2, a1 + sh2add.uw a1, a1, a2 sh3add a0, a1, a0 ret diff --git a/result/rvb23u64/e368f944f3fb4237.S b/result/rvb23u64/e368f944f3fb4237.S index 80b1addc868..dfe6a4abb1a 100644 --- a/result/rvb23u64/e368f944f3fb4237.S +++ b/result/rvb23u64/e368f944f3fb4237.S @@ -1,7 +1,7 @@ func0000000000000015: # @func0000000000000015 sext.b a1, a1 - sext.b a0, a0 sh2add a1, a1, a1 + sext.b a0, a0 sh1add a0, a1, a0 addi a0, a0, -528 ret diff --git a/result/rvb23u64/e39b80725b458918.S b/result/rvb23u64/e39b80725b458918.S index 7decf6973c7..f020d87cdd8 100644 --- a/result/rvb23u64/e39b80725b458918.S +++ b/result/rvb23u64/e39b80725b458918.S @@ -19,8 +19,8 @@ func000000000000006f: # @func000000000000006f mulhu a0, a0, a1 srli a0, a0, 4 sh1add a0, a0, a0 - li a1, 365 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 365 ret func000000000000006d: # @func000000000000006d addi a0, a0, 12 @@ -32,8 +32,8 @@ func000000000000006d: # @func000000000000006d srli a0, a0, 4 addi a0, a0, -349 sh1add a0, a0, a0 - li a1, -19 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, -19 ret func000000000000002f: # @func000000000000002f lui a1, 1048540 diff --git a/result/rvb23u64/e3ff42aaf531ef36.S b/result/rvb23u64/e3ff42aaf531ef36.S index 8a7b619d28d..433153159b7 100644 --- a/result/rvb23u64/e3ff42aaf531ef36.S +++ b/result/rvb23u64/e3ff42aaf531ef36.S @@ -29,7 +29,8 @@ func000000000000000b: # @func000000000000000b ret func000000000000000f: # @func000000000000000f andi a1, a1, 3 - sh3add a1, a1, a1 - sh3add a0, a1, a0 + slli a2, a1, 6 + sh3add a1, a1, a2 + add a0, a0, a1 addi a0, a0, -88 ret diff --git a/result/rvb23u64/e4270f2f111d2491.S b/result/rvb23u64/e4270f2f111d2491.S index c8a777bcd8b..afe356a7613 100644 --- a/result/rvb23u64/e4270f2f111d2491.S +++ b/result/rvb23u64/e4270f2f111d2491.S @@ -1,6 +1,6 @@ func00000000000001b8: # @func00000000000001b8 - zext.w a2, a2 - sh1add a2, a2, a2 + zext.w a3, a2 + sh1add.uw a2, a2, a3 sh2add a0, a2, a0 zext.w a1, a1 sltu a0, a1, a0 diff --git a/result/rvb23u64/e42e525b262a868c.S b/result/rvb23u64/e42e525b262a868c.S index 58290f76536..16c6a433e26 100644 --- a/result/rvb23u64/e42e525b262a868c.S +++ b/result/rvb23u64/e42e525b262a868c.S @@ -55,8 +55,8 @@ func00000000000000ce: # @func00000000000000ce sh2add a1, a1, a1 sh1add a0, a1, a0 sh2add a0, a0, a0 - li a1, 32 - sh1add a0, a0, a1 + slli a0, a0, 1 + addi a0, a0, 32 ret func000000000000007f: # @func000000000000007f sh2add a2, a0, a0 diff --git a/result/rvb23u64/e4a4422ffdfdb4c3.S b/result/rvb23u64/e4a4422ffdfdb4c3.S index 416d7629de5..a48b71e4072 100644 --- a/result/rvb23u64/e4a4422ffdfdb4c3.S +++ b/result/rvb23u64/e4a4422ffdfdb4c3.S @@ -9,7 +9,6 @@ func0000000000000000: # @func0000000000000000 andi a1, a1, 255 subw a1, a1, a0 sh1add a0, a1, a1 - li a1, 6 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, 6 ret diff --git a/result/rvb23u64/e4d95ea6206b67ac.S b/result/rvb23u64/e4d95ea6206b67ac.S index d69b0183a01..2f4050179cb 100644 --- a/result/rvb23u64/e4d95ea6206b67ac.S +++ b/result/rvb23u64/e4d95ea6206b67ac.S @@ -10,8 +10,9 @@ func000000000000000f: # @func000000000000000f li a2, -1 slli a2, a2, 32 add a1, a1, a2 - srai a1, a1, 32 - sh2add a1, a1, a1 + srai a2, a1, 32 + srai a1, a1, 30 + add a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 16 ret diff --git a/result/rvb23u64/e507198e0b788817.S b/result/rvb23u64/e507198e0b788817.S index d044fd1efea..c59dcc7e134 100644 --- a/result/rvb23u64/e507198e0b788817.S +++ b/result/rvb23u64/e507198e0b788817.S @@ -1,8 +1,8 @@ func0000000000000015: # @func0000000000000015 add a0, a0, a1 sh2add a0, a0, a0 - li a1, 320 - sh2add a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, 320 ret func0000000000000010: # @func0000000000000010 add a0, a0, a1 @@ -24,8 +24,8 @@ func0000000000000000: # @func0000000000000000 func0000000000000003: # @func0000000000000003 add a0, a0, a1 sh1add a0, a0, a0 - li a1, 24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 24 ret func0000000000000001: # @func0000000000000001 add a0, a0, a1 @@ -49,9 +49,8 @@ func0000000000000002: # @func0000000000000002 func0000000000000017: # @func0000000000000017 add a0, a0, a1 sh2add a0, a0, a0 - li a1, -480 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, -480 ret func000000000000001f: # @func000000000000001f add a0, a0, a1 @@ -77,8 +76,8 @@ func0000000000000005: # @func0000000000000005 func000000000000003c: # @func000000000000003c add a0, a0, a1 sh1add a0, a0, a0 - li a1, 24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 24 ret func000000000000003f: # @func000000000000003f add a0, a0, a1 @@ -117,6 +116,6 @@ func0000000000000014: # @func0000000000000014 func000000000000000e: # @func000000000000000e add a0, a0, a1 sh2add a0, a0, a0 - li a1, 32 - sh1add a0, a0, a1 + slli a0, a0, 1 + addi a0, a0, 32 ret diff --git a/result/rvb23u64/e6bc4e862636b229.S b/result/rvb23u64/e6bc4e862636b229.S index 04e431bc80d..714f69c4bc1 100644 --- a/result/rvb23u64/e6bc4e862636b229.S +++ b/result/rvb23u64/e6bc4e862636b229.S @@ -1,8 +1,8 @@ func000000000000001c: # @func000000000000001c addi a1, a0, 38 sh3add a0, a0, a0 - slli a0, a0, 2 zext.h a1, a1 - zext.h a0, a0 + slli a0, a0, 50 + srli a0, a0, 48 divuw a0, a0, a1 ret diff --git a/result/rvb23u64/e707c6f7095df45d.S b/result/rvb23u64/e707c6f7095df45d.S index 091e67c5d1f..582ddfd0eaa 100644 --- a/result/rvb23u64/e707c6f7095df45d.S +++ b/result/rvb23u64/e707c6f7095df45d.S @@ -63,11 +63,11 @@ func00000000000000ff: # @func00000000000000ff ret func00000000000000f5: # @func00000000000000f5 andi a2, a2, 255 + sh2add a2, a2, a2 li a3, 1260 mul a1, a1, a3 add a0, a0, a1 - sh2add a1, a2, a2 - sh1add a0, a1, a0 + sh1add a0, a2, a0 sext.w a0, a0 ret func0000000000000030: # @func0000000000000030 diff --git a/result/rvb23u64/e7596bd80115737a.S b/result/rvb23u64/e7596bd80115737a.S index db6a2e47ed9..f894c3d8acb 100644 --- a/result/rvb23u64/e7596bd80115737a.S +++ b/result/rvb23u64/e7596bd80115737a.S @@ -19,8 +19,8 @@ func000000000000007c: # @func000000000000007c func0000000000000001: # @func0000000000000001 slli a1, a1, 1 addi a1, a1, 2 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 8 ret diff --git a/result/rvb23u64/e769b8047dc6b12b.S b/result/rvb23u64/e769b8047dc6b12b.S index 9fca6715f0a..7513eb4131c 100644 --- a/result/rvb23u64/e769b8047dc6b12b.S +++ b/result/rvb23u64/e769b8047dc6b12b.S @@ -1,8 +1,9 @@ func0000000000000003: # @func0000000000000003 add a1, a1, a2 add a0, a0, a1 - slli.uw a0, a0, 2 - sh1add a0, a0, a0 + zext.w a1, a0 + sh1add.uw a0, a0, a1 + slli a0, a0, 2 ret func000000000000002a: # @func000000000000002a add a1, a1, a2 diff --git a/result/rvb23u64/e782eef29ecab8cb.S b/result/rvb23u64/e782eef29ecab8cb.S index 65392509e5c..5922a3e7c43 100644 --- a/result/rvb23u64/e782eef29ecab8cb.S +++ b/result/rvb23u64/e782eef29ecab8cb.S @@ -1,8 +1,8 @@ func0000000000000010: # @func0000000000000010 sext.w a2, a2 + sh1add a2, a2, a2 add a0, a0, a1 - sh1add a1, a2, a2 - sh3add a0, a1, a0 + sh3add a0, a2, a0 ret func0000000000000015: # @func0000000000000015 sext.w a2, a2 diff --git a/result/rvb23u64/e785f57d92b64987.S b/result/rvb23u64/e785f57d92b64987.S index af2f7e7d3d8..624ca3136b8 100644 --- a/result/rvb23u64/e785f57d92b64987.S +++ b/result/rvb23u64/e785f57d92b64987.S @@ -1,25 +1,28 @@ func000000000000000e: # @func000000000000000e sub a2, a2, a1 - srai a2, a2, 3 - sh1add a1, a2, a2 + srli a1, a2, 3 + srli a2, a2, 2 + add a1, a1, a2 sh3add a0, a1, a0 ret func000000000000000b: # @func000000000000000b sub a2, a2, a1 - srai a2, a2, 4 - sh3add a1, a2, a2 + srai a1, a2, 4 + srli a2, a2, 1 + add a1, a1, a2 sh2add a0, a1, a0 ret func0000000000000008: # @func0000000000000008 sub a2, a2, a1 - srai a2, a2, 4 - sh3add a1, a2, a2 + srai a1, a2, 4 + srli a2, a2, 1 + add a1, a1, a2 sh2add a0, a1, a0 ret func0000000000000009: # @func0000000000000009 sub a2, a2, a1 - srli a2, a2, 3 - sh3add a1, a2, a2 + srli a1, a2, 3 + add a1, a1, a2 sh3add a0, a1, a0 ret func000000000000000a: # @func000000000000000a diff --git a/result/rvb23u64/e7ade5b4a23e3cd2.S b/result/rvb23u64/e7ade5b4a23e3cd2.S index 5384e84c232..2b12d89b694 100644 --- a/result/rvb23u64/e7ade5b4a23e3cd2.S +++ b/result/rvb23u64/e7ade5b4a23e3cd2.S @@ -2,7 +2,7 @@ func0000000000000000: # @func0000000000000000 sub a2, a2, a1 addi a2, a2, 1 sh2add a0, a0, a0 - slli a0, a0, 1 - mul a2, a2, a0 - add a0, a0, a2 + slli a1, a0, 1 + mul a1, a1, a2 + sh1add a0, a0, a1 ret diff --git a/result/rvb23u64/e7b0c9cac26a0d51.S b/result/rvb23u64/e7b0c9cac26a0d51.S index d0bfe785407..069aa2172c2 100644 --- a/result/rvb23u64/e7b0c9cac26a0d51.S +++ b/result/rvb23u64/e7b0c9cac26a0d51.S @@ -6,24 +6,24 @@ func0000000000000144: # @func0000000000000144 ret func0000000000000209: # @func0000000000000209 sh2add a2, a2, a2 - li a3, 40 - sh3add a2, a2, a3 + slli a2, a2, 3 + addi a2, a2, 40 sub a0, a0, a1 sltu a0, a0, a2 xori a0, a0, 1 ret func00000000000003f9: # @func00000000000003f9 sh2add a2, a2, a2 - li a3, 40 - sh3add a2, a2, a3 + slli a2, a2, 3 + addi a2, a2, 40 sub a0, a0, a1 sltu a0, a0, a2 xori a0, a0, 1 ret func00000000000003c4: # @func00000000000003c4 sh1add a2, a2, a2 - li a3, 4 - sh1add a2, a2, a3 + slli a2, a2, 1 + addi a2, a2, 4 sub a0, a0, a1 sltu a0, a0, a2 ret diff --git a/result/rvb23u64/e80eb58244656b7f.S b/result/rvb23u64/e80eb58244656b7f.S index 3178d3ca043..c7ed2eb9715 100644 --- a/result/rvb23u64/e80eb58244656b7f.S +++ b/result/rvb23u64/e80eb58244656b7f.S @@ -2,7 +2,8 @@ func000000000000003b: # @func000000000000003b andi a1, a1, 255 slli a1, a1, 8 or a0, a0, a1 - srliw a0, a0, 1 - sh1add a0, a0, a0 + andi a1, a0, -2 + srli a0, a0, 1 + add a0, a0, a1 slliw a0, a0, 1 ret diff --git a/result/rvb23u64/e827f537d57596f6.S b/result/rvb23u64/e827f537d57596f6.S index d8b6cf311ac..7591efe1e84 100644 --- a/result/rvb23u64/e827f537d57596f6.S +++ b/result/rvb23u64/e827f537d57596f6.S @@ -30,8 +30,8 @@ func000000000000000d: # @func000000000000000d srli a0, a0, 4 addi a0, a0, -349 sh1add a0, a0, a0 - li a1, -19 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, -19 ret func0000000000000004: # @func0000000000000004 zext.w a0, a0 @@ -52,8 +52,8 @@ func0000000000000008: # @func0000000000000008 mulhu a0, a0, a1 srli a0, a0, 5 sh2add a0, a0, a0 - li a1, -40 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, -40 ret func0000000000000000: # @func0000000000000000 zext.w a0, a0 diff --git a/result/rvb23u64/e85fe29bd2549980.S b/result/rvb23u64/e85fe29bd2549980.S index 8ef6c731c6f..a15ea0b82b4 100644 --- a/result/rvb23u64/e85fe29bd2549980.S +++ b/result/rvb23u64/e85fe29bd2549980.S @@ -1,14 +1,14 @@ func00000000000000fd: # @func00000000000000fd andi a1, a1, 255 - andi a0, a0, 255 sh2add a1, a1, a1 + andi a0, a0, 255 sh1add a0, a1, a0 addi a0, a0, -528 ret func000000000000003d: # @func000000000000003d zext.h a1, a1 - zext.h a0, a0 sh2add a1, a1, a1 + zext.h a0, a0 sh1add a0, a1, a0 addi a0, a0, -528 ret diff --git a/result/rvb23u64/e8b40f05c92b4430.S b/result/rvb23u64/e8b40f05c92b4430.S index dd04251514c..3774a80775c 100644 --- a/result/rvb23u64/e8b40f05c92b4430.S +++ b/result/rvb23u64/e8b40f05c92b4430.S @@ -10,8 +10,8 @@ func0000000000000003: # @func0000000000000003 ret func000000000000000a: # @func000000000000000a sh1add a2, a2, a2 - slli a2, a2, 1 sh1add a0, a1, a0 + slli a2, a2, 1 sh1add.uw a0, a2, a0 ret func000000000000000c: # @func000000000000000c diff --git a/result/rvb23u64/e8cf1a8a6582a8ad.S b/result/rvb23u64/e8cf1a8a6582a8ad.S index f770bb698ad..d64bc4dd886 100644 --- a/result/rvb23u64/e8cf1a8a6582a8ad.S +++ b/result/rvb23u64/e8cf1a8a6582a8ad.S @@ -1,6 +1,6 @@ func0000000000000004: # @func0000000000000004 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh2add a0, a1, a0 addi a0, a0, -12 ret diff --git a/result/rvb23u64/e909088bec3e38ba.S b/result/rvb23u64/e909088bec3e38ba.S index e6107681df5..50231809fa6 100644 --- a/result/rvb23u64/e909088bec3e38ba.S +++ b/result/rvb23u64/e909088bec3e38ba.S @@ -59,6 +59,7 @@ func0000000000000003: # @func0000000000000003 ret func0000000000000007: # @func0000000000000007 addi a0, a0, 1 - slli.uw a0, a0, 2 - sh1add a0, a0, a0 + zext.w a1, a0 + sh1add.uw a0, a0, a1 + slli a0, a0, 2 ret diff --git a/result/rvb23u64/e90eae6e965ef734.S b/result/rvb23u64/e90eae6e965ef734.S index 6d1e8cb6af3..e25fce54ad3 100644 --- a/result/rvb23u64/e90eae6e965ef734.S +++ b/result/rvb23u64/e90eae6e965ef734.S @@ -7,15 +7,17 @@ func0000000000000024: # @func0000000000000024 ret func0000000000000008: # @func0000000000000008 sext.w a0, a0 - srliw a1, a1, 2 - sh1add a1, a1, a1 + srliw a2, a1, 2 + srli a1, a1, 2 + sh1add a1, a1, a2 slliw a1, a1, 1 sltu a0, a1, a0 ret func0000000000000004: # @func0000000000000004 sext.w a0, a0 - srliw a1, a1, 2 - sh1add a1, a1, a1 + srliw a2, a1, 2 + srli a1, a1, 2 + sh1add a1, a1, a2 slliw a1, a1, 1 sltu a0, a0, a1 ret diff --git a/result/rvb23u64/e91f6ac83bf31623.S b/result/rvb23u64/e91f6ac83bf31623.S index 6dca5435e84..4fbd2dc8c49 100644 --- a/result/rvb23u64/e91f6ac83bf31623.S +++ b/result/rvb23u64/e91f6ac83bf31623.S @@ -12,16 +12,16 @@ func000000000000003c: # @func000000000000003c func0000000000000029: # @func0000000000000029 slli a1, a1, 1 addi a1, a1, 1 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 4 ret func0000000000000009: # @func0000000000000009 slli a1, a1, 1 addi a1, a1, 1 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 8 ret @@ -35,8 +35,8 @@ func000000000000001b: # @func000000000000001b func000000000000000b: # @func000000000000000b slli a1, a1, 1 addi a1, a1, 1 - zext.w a1, a1 - sh2add a1, a1, a1 + zext.w a2, a1 + sh2add.uw a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 4 ret diff --git a/result/rvb23u64/e951c17fb1c473bd.S b/result/rvb23u64/e951c17fb1c473bd.S index 6a308684f14..34ac260c530 100644 --- a/result/rvb23u64/e951c17fb1c473bd.S +++ b/result/rvb23u64/e951c17fb1c473bd.S @@ -25,8 +25,8 @@ func0000000000000005: # @func0000000000000005 li a3, 1360 mul a2, a2, a3 subw a1, a1, a2 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh1add a0, a1, a0 addi a0, a0, 2 ret @@ -40,8 +40,8 @@ func0000000000000004: # @func0000000000000004 li a3, 1360 mul a2, a2, a3 subw a1, a1, a2 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh1add a0, a1, a0 addi a0, a0, 4 ret diff --git a/result/rvb23u64/e964c1b3e93c34a0.S b/result/rvb23u64/e964c1b3e93c34a0.S index 11e14a2db6c..7fbe2b79bae 100644 --- a/result/rvb23u64/e964c1b3e93c34a0.S +++ b/result/rvb23u64/e964c1b3e93c34a0.S @@ -6,8 +6,8 @@ func000000000000000c: # @func000000000000000c ret func0000000000000009: # @func0000000000000009 ori a1, a1, 1 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 4 ret diff --git a/result/rvb23u64/e96781f71165495e.S b/result/rvb23u64/e96781f71165495e.S index 4dd874545f5..8f0b8b9e4ab 100644 --- a/result/rvb23u64/e96781f71165495e.S +++ b/result/rvb23u64/e96781f71165495e.S @@ -14,14 +14,14 @@ func000000000000000f: # @func000000000000000f ret func000000000000000b: # @func000000000000000b andi a2, a2, 255 - li a3, 258 - mul a2, a2, a3 + slli a3, a2, 8 + sh1add a2, a2, a3 zext.h a0, a0 add a0, a0, a1 - add a0, a0, a2 lui a1, 9 addiw a1, a1, 844 add a0, a0, a1 + add a0, a0, a2 ret func0000000000000008: # @func0000000000000008 add.uw a1, a2, a1 diff --git a/result/rvb23u64/e969cfcbd6688253.S b/result/rvb23u64/e969cfcbd6688253.S index cd9f8eb7fbb..9d018ead4c4 100644 --- a/result/rvb23u64/e969cfcbd6688253.S +++ b/result/rvb23u64/e969cfcbd6688253.S @@ -1,6 +1,7 @@ func0000000000000009: # @func0000000000000009 - addw a0, a0, a1 - srli a0, a0, 1 - sh1add a0, a0, a0 + add a0, a0, a1 + srli a1, a0, 1 + andi a0, a0, -2 + add a0, a0, a1 slliw a0, a0, 1 ret diff --git a/result/rvb23u64/ea089e21be4aeb46.S b/result/rvb23u64/ea089e21be4aeb46.S index fea2578e39c..062392178e4 100644 --- a/result/rvb23u64/ea089e21be4aeb46.S +++ b/result/rvb23u64/ea089e21be4aeb46.S @@ -1,6 +1,8 @@ func0000000000000004: # @func0000000000000004 - sraiw a2, a2, 1 - sh1add a2, a2, a2 + sext.w a2, a2 + srli a3, a2, 1 + andi a2, a2, -2 + add a2, a2, a3 sh2add a1, a2, a1 sub a0, a1, a0 ret diff --git a/result/rvb23u64/ea286dd3b78d7d8c.S b/result/rvb23u64/ea286dd3b78d7d8c.S index 965a4e7857c..676b4e4856a 100644 --- a/result/rvb23u64/ea286dd3b78d7d8c.S +++ b/result/rvb23u64/ea286dd3b78d7d8c.S @@ -25,8 +25,8 @@ func0000000000000351: # @func0000000000000351 seqz a0, a0 ret func00000000000003f1: # @func00000000000003f1 - zext.w a2, a2 - sh2add a2, a2, a2 + zext.w a3, a2 + sh2add.uw a2, a2, a3 sh1add a1, a2, a1 add a0, a0, a1 seqz a0, a0 diff --git a/result/rvb23u64/ea3bca5ff76e06e1.S b/result/rvb23u64/ea3bca5ff76e06e1.S index 32c846906c6..60c7cc7470d 100644 --- a/result/rvb23u64/ea3bca5ff76e06e1.S +++ b/result/rvb23u64/ea3bca5ff76e06e1.S @@ -1,7 +1,7 @@ func000000000000000c: # @func000000000000000c sh1add a0, a0, a0 - li a1, 6 - sh1add a0, a0, a1 + slli a0, a0, 1 + addi a0, a0, 6 ret func0000000000000007: # @func0000000000000007 addi a0, a0, -1 @@ -18,8 +18,8 @@ func0000000000000000: # @func0000000000000000 ret func0000000000000005: # @func0000000000000005 sh1add a0, a0, a0 - li a1, -12 - sh2add a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, -12 ret func000000000000000f: # @func000000000000000f sh2add a0, a0, a0 @@ -42,18 +42,18 @@ func0000000000000003: # @func0000000000000003 ret func000000000000000b: # @func000000000000000b sh1add a0, a0, a0 - li a1, 12 - sh2add a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, 12 ret func0000000000000008: # @func0000000000000008 sh1add a0, a0, a0 - li a1, 6 - sh1add a0, a0, a1 + slli a0, a0, 1 + addi a0, a0, 6 ret func000000000000000d: # @func000000000000000d sh1add a0, a0, a0 - li a1, 6 - sh1add a0, a0, a1 + slli a0, a0, 1 + addi a0, a0, 6 ret func000000000000000a: # @func000000000000000a li a1, 88 diff --git a/result/rvb23u64/eaac99a99717c019.S b/result/rvb23u64/eaac99a99717c019.S index 48d3dad63c9..5670e51761e 100644 --- a/result/rvb23u64/eaac99a99717c019.S +++ b/result/rvb23u64/eaac99a99717c019.S @@ -2,9 +2,9 @@ func000000000000003e: # @func000000000000003e li a2, 10 mulhu a2, a1, a2 sh2add a1, a1, a1 - slli a1, a1, 1 - add a0, a0, a1 - sltu a0, a0, a1 + slli a3, a1, 1 + sh1add a0, a1, a0 + sltu a0, a0, a3 add a0, a0, a2 li a1, 0 ret diff --git a/result/rvb23u64/eaf4f5b5362edb9f.S b/result/rvb23u64/eaf4f5b5362edb9f.S index e381bf88108..4a5da912330 100644 --- a/result/rvb23u64/eaf4f5b5362edb9f.S +++ b/result/rvb23u64/eaf4f5b5362edb9f.S @@ -1,6 +1,6 @@ func0000000000000011: # @func0000000000000011 - zext.w a2, a2 - sh1add a2, a2, a2 + zext.w a3, a2 + sh1add.uw a2, a2, a3 sh3add a2, a2, a0 xor a2, a2, a1 czero.eqz a1, a1, a2 diff --git a/result/rvb23u64/eb033d51f09761cb.S b/result/rvb23u64/eb033d51f09761cb.S index abdee465161..07d462531d1 100644 --- a/result/rvb23u64/eb033d51f09761cb.S +++ b/result/rvb23u64/eb033d51f09761cb.S @@ -3,7 +3,7 @@ func00000000000000d3: # @func00000000000000d3 srli a0, a0, 56 li a1, 6 minu a0, a0, a1 - sh2add a0, a0, a0 - li a1, 19 + slli a1, a0, 5 sh3add a0, a0, a1 + addi a0, a0, 19 ret diff --git a/result/rvb23u64/eb1b2717cc311030.S b/result/rvb23u64/eb1b2717cc311030.S index 3b9691dfbca..bb56e9416a6 100644 --- a/result/rvb23u64/eb1b2717cc311030.S +++ b/result/rvb23u64/eb1b2717cc311030.S @@ -2,8 +2,9 @@ func0000000000000007: # @func0000000000000007 andi a1, a1, 28 addi a1, a1, -20 seqz a1, a1 - sh2add a1, a1, a1 - sh3add a0, a1, a0 + slli a2, a1, 5 + sh3add a1, a1, a2 + add a0, a0, a1 addi a0, a0, 40 ret func0000000000000006: # @func0000000000000006 diff --git a/result/rvb23u64/eb891c173da2bb4f.S b/result/rvb23u64/eb891c173da2bb4f.S index 0b258c86b1f..292078c69e5 100644 --- a/result/rvb23u64/eb891c173da2bb4f.S +++ b/result/rvb23u64/eb891c173da2bb4f.S @@ -17,8 +17,9 @@ func0000000000000002: # @func0000000000000002 srliw a0, a0, 5 ret func000000000000000b: # @func000000000000000b - srai a0, a0, 32 - sh1add a0, a0, a0 + srai a1, a0, 32 + srai a0, a0, 31 + add a0, a0, a1 slli a0, a0, 3 srli a0, a0, 2 ret diff --git a/result/rvb23u64/ebe56e3801a05ff6.S b/result/rvb23u64/ebe56e3801a05ff6.S index 6fb410b50ca..3c9beb1b53d 100644 --- a/result/rvb23u64/ebe56e3801a05ff6.S +++ b/result/rvb23u64/ebe56e3801a05ff6.S @@ -29,8 +29,8 @@ func000000000000007f: # @func000000000000007f ret func000000000000009f: # @func000000000000009f sh2add a2, a2, a2 - slli a2, a2, 1 - andi a2, a2, 254 + slli a2, a2, 57 + srli a2, a2, 56 andi a1, a1, 255 add a0, a0, a1 addw a0, a0, a2 diff --git a/result/rvb23u64/ec62e45510cc3770.S b/result/rvb23u64/ec62e45510cc3770.S index f5e0558225a..f922497e4e0 100644 --- a/result/rvb23u64/ec62e45510cc3770.S +++ b/result/rvb23u64/ec62e45510cc3770.S @@ -1,8 +1,9 @@ func0000000000000001: # @func0000000000000001 li a2, 1 andn a1, a2, a1 - sh1add a1, a1, a1 - sh2add a0, a1, a0 + slli a2, a1, 2 + sh3add a1, a1, a2 + add a0, a0, a1 addi a0, a0, 4 ret func0000000000000003: # @func0000000000000003 diff --git a/result/rvb23u64/ece0584f56eea509.S b/result/rvb23u64/ece0584f56eea509.S index 6c0717190fe..e55bc25c7ae 100644 --- a/result/rvb23u64/ece0584f56eea509.S +++ b/result/rvb23u64/ece0584f56eea509.S @@ -1,6 +1,6 @@ func0000000000000000: # @func0000000000000000 sh2add a1, a1, a1 - slli a1, a1, 1 - mul a0, a0, a1 - add a0, a0, a1 + slli a2, a1, 1 + mul a0, a0, a2 + sh1add a0, a1, a0 ret diff --git a/result/rvb23u64/ed8cc70c8e5ed76d.S b/result/rvb23u64/ed8cc70c8e5ed76d.S index b2d5d743908..a9575ed9bf4 100644 --- a/result/rvb23u64/ed8cc70c8e5ed76d.S +++ b/result/rvb23u64/ed8cc70c8e5ed76d.S @@ -2,15 +2,15 @@ func0000000000000078: # @func0000000000000078 li a3, 10 mulhu a3, a2, a3 sh2add a2, a2, a2 - slli a2, a2, 1 + slli a4, a2, 1 add a1, a1, a3 - add a0, a0, a2 - sltu a0, a0, a2 + sh1add a0, a2, a0 + sltu a0, a0, a4 add a0, a0, a1 ret func000000000000007b: # @func000000000000007b - zext.w a1, a1 - sh2add a1, a1, a1 + zext.w a2, a1 + sh2add.uw a1, a1, a2 sh1add a0, a1, a0 srli a0, a0, 32 ret diff --git a/result/rvb23u64/ed92c6c0ab909e0b.S b/result/rvb23u64/ed92c6c0ab909e0b.S index 36fad3a9a1d..0508d9dfecf 100644 --- a/result/rvb23u64/ed92c6c0ab909e0b.S +++ b/result/rvb23u64/ed92c6c0ab909e0b.S @@ -1,6 +1,7 @@ func0000000000000071: # @func0000000000000071 - srai a2, a2, 32 - sh2add a2, a2, a2 + srai a3, a2, 32 + srai a2, a2, 30 + add a2, a2, a3 sh2add a1, a2, a1 addi a1, a1, 20 xor a0, a0, a1 diff --git a/result/rvb23u64/edc255c69a0c0e82.S b/result/rvb23u64/edc255c69a0c0e82.S index b1ef88ce27c..6eb21c76461 100644 --- a/result/rvb23u64/edc255c69a0c0e82.S +++ b/result/rvb23u64/edc255c69a0c0e82.S @@ -36,16 +36,16 @@ func000000000000001f: # @func000000000000001f func000000000000000b: # @func000000000000000b zext.h a1, a1 addi a1, a1, -1 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh2add a0, a1, a0 addi a0, a0, 10 ret func000000000000000a: # @func000000000000000a zext.h a1, a1 addi a1, a1, -1 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh2add a0, a1, a0 addi a0, a0, 10 ret diff --git a/result/rvb23u64/eddcaab12f6691ce.S b/result/rvb23u64/eddcaab12f6691ce.S index bf01a9363e7..86ff1c7e47d 100644 --- a/result/rvb23u64/eddcaab12f6691ce.S +++ b/result/rvb23u64/eddcaab12f6691ce.S @@ -63,8 +63,8 @@ func0000000000000044: # @func0000000000000044 sltu a0, a1, a0 ret func0000000000000004: # @func0000000000000004 - zext.w a2, a2 - sh1add a2, a2, a2 + zext.w a3, a2 + sh1add.uw a2, a2, a3 sh3add a1, a2, a1 addi a1, a1, 24 sltu a0, a1, a0 diff --git a/result/rvb23u64/ee1b32457cea6239.S b/result/rvb23u64/ee1b32457cea6239.S index 50c0f0a1b93..5c8beca43b0 100644 --- a/result/rvb23u64/ee1b32457cea6239.S +++ b/result/rvb23u64/ee1b32457cea6239.S @@ -1,7 +1,8 @@ func0000000000000077: # @func0000000000000077 slli a1, a1, 8 or a0, a0, a1 - srliw a0, a0, 1 - sh1add a0, a0, a0 + andi a1, a0, -2 + srli a0, a0, 1 + add a0, a0, a1 slliw a0, a0, 1 ret diff --git a/result/rvb23u64/ee24e936c348658b.S b/result/rvb23u64/ee24e936c348658b.S index 0e68c2c605e..1c48434931e 100644 --- a/result/rvb23u64/ee24e936c348658b.S +++ b/result/rvb23u64/ee24e936c348658b.S @@ -30,8 +30,8 @@ func000000000000006f: # @func000000000000006f addi a0, a0, 2 ret func000000000000007f: # @func000000000000007f - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 andi a0, a0, 255 sh1add a0, a1, a0 addi a0, a0, 12 diff --git a/result/rvb23u64/eed6e281f262b280.S b/result/rvb23u64/eed6e281f262b280.S index 0c9d22793ec..9a28746a76f 100644 --- a/result/rvb23u64/eed6e281f262b280.S +++ b/result/rvb23u64/eed6e281f262b280.S @@ -33,8 +33,8 @@ func0000000000000004: # @func0000000000000004 li a3, 1360 mul a2, a2, a3 subw a1, a1, a2 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh1add a0, a1, a0 addi a0, a0, 24 ret diff --git a/result/rvb23u64/ef00d1dcbc461c56.S b/result/rvb23u64/ef00d1dcbc461c56.S index ad202a14b05..582e1b927a1 100644 --- a/result/rvb23u64/ef00d1dcbc461c56.S +++ b/result/rvb23u64/ef00d1dcbc461c56.S @@ -76,8 +76,8 @@ func0000000000000008: # @func0000000000000008 func0000000000000053: # @func0000000000000053 sext.w a2, a2 sgtz a2, a2 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a3, a1 + sh1add.uw a1, a1, a3 sh3add a0, a1, a0 sh3add a0, a2, a0 ret diff --git a/result/rvb23u64/ef23aa0e6205ae5c.S b/result/rvb23u64/ef23aa0e6205ae5c.S index dfd3bee261c..c735ce69f45 100644 --- a/result/rvb23u64/ef23aa0e6205ae5c.S +++ b/result/rvb23u64/ef23aa0e6205ae5c.S @@ -6,9 +6,11 @@ func000000000000000b: # @func000000000000000b slli a3, a2, 32 add a2, a2, a3 mul a1, a1, a2 - neg a1, a1 - sh2add a1, a1, a1 - sh3add a0, a1, a0 + neg a2, a1 + slli a1, a1, 3 + slli a2, a2, 5 + sub a0, a0, a1 + add a0, a0, a2 ret func000000000000000a: # @func000000000000000a sub a1, a1, a2 @@ -18,7 +20,9 @@ func000000000000000a: # @func000000000000000a slli a3, a2, 32 add a2, a2, a3 mul a1, a1, a2 - neg a1, a1 - sh2add a1, a1, a1 - sh3add a0, a1, a0 + neg a2, a1 + slli a1, a1, 3 + slli a2, a2, 5 + sub a0, a0, a1 + add a0, a0, a2 ret diff --git a/result/rvb23u64/ef4dc9fb7d680b9a.S b/result/rvb23u64/ef4dc9fb7d680b9a.S index ed72623643d..31533a0c1c6 100644 --- a/result/rvb23u64/ef4dc9fb7d680b9a.S +++ b/result/rvb23u64/ef4dc9fb7d680b9a.S @@ -1,20 +1,20 @@ func0000000000000018: # @func0000000000000018 add a0, a0, a1 sh1add a0, a0, a0 - li a1, -24 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, -24 ret func0000000000000037: # @func0000000000000037 add a0, a0, a1 sh2add a0, a0, a0 - li a1, 40 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 40 ret func000000000000003f: # @func000000000000003f add a0, a0, a1 sh2add a0, a0, a0 - li a1, 10 - sh1add a0, a0, a1 + slli a0, a0, 1 + addi a0, a0, 10 ret func0000000000000000: # @func0000000000000000 add a0, a0, a1 @@ -59,9 +59,8 @@ func0000000000000005: # @func0000000000000005 func0000000000000010: # @func0000000000000010 add a0, a0, a1 sh1add a0, a0, a0 - li a1, -28 - sh2add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 2 + addiw a0, a0, -28 ret func0000000000000008: # @func0000000000000008 add a0, a0, a1 @@ -78,16 +77,14 @@ func0000000000000035: # @func0000000000000035 func000000000000001d: # @func000000000000001d add a0, a0, a1 sh2add a0, a0, a0 - li a1, -48 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, -48 ret func000000000000003d: # @func000000000000003d add a0, a0, a1 sh2add a0, a0, a0 - li a1, -480 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, -480 ret func0000000000000011: # @func0000000000000011 add a0, a0, a1 @@ -104,9 +101,8 @@ func000000000000000f: # @func000000000000000f func0000000000000030: # @func0000000000000030 add a0, a0, a1 sh2add a0, a0, a0 - li a1, 15 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, 15 ret func000000000000001f: # @func000000000000001f add a0, a0, a1 diff --git a/result/rvb23u64/ef8ca4684ca72007.S b/result/rvb23u64/ef8ca4684ca72007.S index b9337911fc6..34e3b300ab2 100644 --- a/result/rvb23u64/ef8ca4684ca72007.S +++ b/result/rvb23u64/ef8ca4684ca72007.S @@ -81,9 +81,9 @@ func0000000000000008: # @func0000000000000008 addi a0, a0, 4 ret func0000000000000011: # @func0000000000000011 - slli a1, a1, 33 - srli a1, a1, 32 - sh1add a1, a1, a1 + slli a1, a1, 1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 4 ret diff --git a/result/rvb23u64/f0b7bda3e3d42361.S b/result/rvb23u64/f0b7bda3e3d42361.S index 73fd2964600..709bdd1bb7b 100644 --- a/result/rvb23u64/f0b7bda3e3d42361.S +++ b/result/rvb23u64/f0b7bda3e3d42361.S @@ -7,8 +7,8 @@ func0000000000000004: # @func0000000000000004 ret func00000000000000f0: # @func00000000000000f0 sh1add a1, a1, a1 - li a2, 6 - sh1add a1, a1, a2 + slli a1, a1, 1 + addi a1, a1, 6 mul a0, a0, a1 addiw a0, a0, 7 ret diff --git a/result/rvb23u64/f0bcbb49714fbef0.S b/result/rvb23u64/f0bcbb49714fbef0.S index 7b98c37da11..5fb4be2c85a 100644 --- a/result/rvb23u64/f0bcbb49714fbef0.S +++ b/result/rvb23u64/f0bcbb49714fbef0.S @@ -17,8 +17,8 @@ func0000000000000010: # @func0000000000000010 func0000000000000001: # @func0000000000000001 srliw a2, a2, 1 add a1, a1, a2 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh2add a0, a1, a0 addi a0, a0, 4 ret diff --git a/result/rvb23u64/f0fd1436f5d1c0a2.S b/result/rvb23u64/f0fd1436f5d1c0a2.S index df2230d2e3d..fb299e15189 100644 --- a/result/rvb23u64/f0fd1436f5d1c0a2.S +++ b/result/rvb23u64/f0fd1436f5d1c0a2.S @@ -1,5 +1,5 @@ func000000000000000f: # @func000000000000000f mulw a0, a0, a0 - li a1, 1028 - mul a0, a0, a1 + slli a1, a0, 10 + sh2add a0, a0, a1 ret diff --git a/result/rvb23u64/f1165b906f79d31b.S b/result/rvb23u64/f1165b906f79d31b.S index 75e3391eab7..0a73a2c4d47 100644 --- a/result/rvb23u64/f1165b906f79d31b.S +++ b/result/rvb23u64/f1165b906f79d31b.S @@ -1,8 +1,8 @@ func0000000000000039: # @func0000000000000039 addi a1, a0, 38 sh3add a0, a0, a0 - slli a0, a0, 2 zext.h a1, a1 - zext.h a0, a0 + slli a0, a0, 50 + srli a0, a0, 48 divuw a0, a0, a1 ret diff --git a/result/rvb23u64/f18087353c995cc8.S b/result/rvb23u64/f18087353c995cc8.S index 7f5e2c41669..3c7be73f755 100644 --- a/result/rvb23u64/f18087353c995cc8.S +++ b/result/rvb23u64/f18087353c995cc8.S @@ -1,8 +1,8 @@ func000000000000002d: # @func000000000000002d - zext.w a0, a0 - sh1add a0, a0, a0 - li a1, -12 - sh2add a0, a0, a1 + zext.w a1, a0 + sh1add.uw a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, -12 lui a1, 699051 addiw a1, a1, -1365 slli a2, a1, 32 @@ -10,14 +10,14 @@ func000000000000002d: # @func000000000000002d mulhu a0, a0, a1 srli a0, a0, 3 sh1add a0, a0, a0 - li a1, 12 - sh2add a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, 12 ret func000000000000002f: # @func000000000000002f - zext.w a0, a0 - sh1add a0, a0, a0 - li a1, -12 - sh2add a0, a0, a1 + zext.w a1, a0 + sh1add.uw a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, -12 lui a1, 699051 addiw a1, a1, -1365 slli a2, a1, 32 @@ -25,8 +25,8 @@ func000000000000002f: # @func000000000000002f mulhu a0, a0, a1 srli a0, a0, 3 sh1add a0, a0, a0 - li a1, 12 - sh2add a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, 12 ret .LCPI2_0: .quad -7515340178177965473 # 0x97b425ed097b425f diff --git a/result/rvb23u64/f18d2c3db9ef39e2.S b/result/rvb23u64/f18d2c3db9ef39e2.S index aafad0c538e..0a250e65851 100644 --- a/result/rvb23u64/f18d2c3db9ef39e2.S +++ b/result/rvb23u64/f18d2c3db9ef39e2.S @@ -8,8 +8,8 @@ func0000000000000017: # @func0000000000000017 func000000000000001f: # @func000000000000001f srli a1, a1, 5 addi a1, a1, 1 - zext.w a1, a1 - sh3add a1, a1, a1 + zext.w a2, a1 + sh3add.uw a1, a1, a2 sh2add a0, a1, a0 addi a0, a0, 12 ret diff --git a/result/rvb23u64/f1a5f1c7117b3780.S b/result/rvb23u64/f1a5f1c7117b3780.S index 4604f2134ad..75236cdbd00 100644 --- a/result/rvb23u64/f1a5f1c7117b3780.S +++ b/result/rvb23u64/f1a5f1c7117b3780.S @@ -4,9 +4,9 @@ func0000000000000070: # @func0000000000000070 slli a3, a3, 24 addi a3, a3, 15 and a2, a2, a3 + sh1add a2, a2, a2 or a0, a0, a1 - sh1add a1, a2, a2 - sh1add a0, a1, a0 + sh1add a0, a2, a0 slli a0, a0, 8 ret func000000000000007e: # @func000000000000007e @@ -15,9 +15,9 @@ func000000000000007e: # @func000000000000007e slli a3, a3, 24 addi a3, a3, 15 and a2, a2, a3 + sh1add a2, a2, a2 or a0, a0, a1 - sh1add a1, a2, a2 - sh1add a0, a1, a0 + sh1add a0, a2, a0 slli a0, a0, 8 ret func0000000000000055: # @func0000000000000055 diff --git a/result/rvb23u64/f1d21ee40badfd80.S b/result/rvb23u64/f1d21ee40badfd80.S index abd7216f2d9..790f66f5ede 100644 --- a/result/rvb23u64/f1d21ee40badfd80.S +++ b/result/rvb23u64/f1d21ee40badfd80.S @@ -12,9 +12,9 @@ func000000000000003f: # @func000000000000003f addw a0, a0, a2 ret func0000000000000000: # @func0000000000000000 + sh2add a2, a2, a2 add a0, a0, a1 - sh2add a1, a2, a2 - sh1add a0, a1, a0 + sh1add a0, a2, a0 sext.w a0, a0 ret func0000000000000015: # @func0000000000000015 diff --git a/result/rvb23u64/f20028cb5ce23c7e.S b/result/rvb23u64/f20028cb5ce23c7e.S index 3efa3597cbb..8b1ae48a2cc 100644 --- a/result/rvb23u64/f20028cb5ce23c7e.S +++ b/result/rvb23u64/f20028cb5ce23c7e.S @@ -45,8 +45,9 @@ func00000000000000c8: # @func00000000000000c8 sltu a0, a2, a0 ret func00000000000000c5: # @func00000000000000c5 - slli.uw a2, a2, 3 - sh1add a2, a2, a2 + zext.w a3, a2 + sh1add.uw a2, a2, a3 + slli a2, a2, 3 sub a0, a0, a1 sltu a0, a2, a0 xori a0, a0, 1 diff --git a/result/rvb23u64/f237be1fb14bf775.S b/result/rvb23u64/f237be1fb14bf775.S index 49f089c46bb..35ecb93aa6d 100644 --- a/result/rvb23u64/f237be1fb14bf775.S +++ b/result/rvb23u64/f237be1fb14bf775.S @@ -3,6 +3,6 @@ func0000000000000034: # @func0000000000000034 srli a0, a0, 56 li a1, 6 minu a0, a0, a1 - sh2add a0, a0, a0 - slli a0, a0, 3 + slli a1, a0, 5 + sh3add a0, a0, a1 ret diff --git a/result/rvb23u64/f23b945f1c2c5aa6.S b/result/rvb23u64/f23b945f1c2c5aa6.S index 20cd74263c8..4b70abac889 100644 --- a/result/rvb23u64/f23b945f1c2c5aa6.S +++ b/result/rvb23u64/f23b945f1c2c5aa6.S @@ -11,18 +11,16 @@ func00000000000001d7: # @func00000000000001d7 andi a0, a0, 255 sh1add a0, a1, a0 sh2add a0, a0, a0 - li a1, -480 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, -480 ret func0000000000000040: # @func0000000000000040 sh2add a1, a1, a1 andi a0, a0, 255 sh1add a0, a1, a0 sh2add a0, a0, a0 - li a1, -480 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, -480 ret func0000000000000195: # @func0000000000000195 sh2add a2, a1, a1 diff --git a/result/rvb23u64/f281f1a98e8fc4d0.S b/result/rvb23u64/f281f1a98e8fc4d0.S index bd1476194b3..db02ea27bba 100644 --- a/result/rvb23u64/f281f1a98e8fc4d0.S +++ b/result/rvb23u64/f281f1a98e8fc4d0.S @@ -3,6 +3,7 @@ func0000000000000007: # @func0000000000000007 andi a2, a2, 1 addi a2, a2, 1 czero.nez a1, a2, a1 - sh2add a1, a1, a1 - sh3add a0, a1, a0 + slli a2, a1, 5 + sh3add a1, a1, a2 + add a0, a0, a1 ret diff --git a/result/rvb23u64/f298b8f9f65ba991.S b/result/rvb23u64/f298b8f9f65ba991.S index cf12ab93d26..eea3f4e80a1 100644 --- a/result/rvb23u64/f298b8f9f65ba991.S +++ b/result/rvb23u64/f298b8f9f65ba991.S @@ -1,22 +1,22 @@ func0000000000000003: # @func0000000000000003 sh3add a1, a1, a1 - li a2, 64 - sh2add a1, a1, a2 + slli a1, a1, 2 + addi a1, a1, 64 zext.w a1, a1 add.uw a0, a0, a1 ret func000000000000000b: # @func000000000000000b sh2add a1, a1, a1 - li a2, 32 - sh1add a1, a1, a2 + slli a1, a1, 1 + addi a1, a1, 32 andi a1, a1, 254 andi a0, a0, 255 add a0, a0, a1 ret func000000000000001f: # @func000000000000001f sh2add a1, a1, a1 - li a2, 32 - sh1add a1, a1, a2 + slli a1, a1, 1 + addi a1, a1, 32 andi a1, a1, 254 andi a0, a0, 255 add a0, a0, a1 diff --git a/result/rvb23u64/f2b164df437d26c9.S b/result/rvb23u64/f2b164df437d26c9.S index 309b062f808..60c08e43335 100644 --- a/result/rvb23u64/f2b164df437d26c9.S +++ b/result/rvb23u64/f2b164df437d26c9.S @@ -32,8 +32,8 @@ func000000000000000a: # @func000000000000000a add a3, a3, a4 mul a1, a1, a3 add a1, a1, a2 - li a2, 136 - mul a1, a1, a2 + slli a2, a1, 7 + sh3add a1, a1, a2 add a0, a0, a1 addi a0, a0, 272 ret diff --git a/result/rvb23u64/f2e9368a1c8431a9.S b/result/rvb23u64/f2e9368a1c8431a9.S index 7d4126344cc..ed305679f54 100644 --- a/result/rvb23u64/f2e9368a1c8431a9.S +++ b/result/rvb23u64/f2e9368a1c8431a9.S @@ -7,6 +7,6 @@ func0000000000000008: # @func0000000000000008 mulhu a0, a0, a1 srli a0, a0, 3 sh1add a0, a0, a0 - li a1, 12 - sh2add a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, 12 ret diff --git a/result/rvb23u64/f32b26220604c01d.S b/result/rvb23u64/f32b26220604c01d.S index 650f7820476..93caecbbe71 100644 --- a/result/rvb23u64/f32b26220604c01d.S +++ b/result/rvb23u64/f32b26220604c01d.S @@ -13,9 +13,12 @@ func0000000000000003: # @func0000000000000003 add a0, a0, a1 ret func000000000000000a: # @func000000000000000a - slli a1, a1, 48 - srli a1, a1, 49 - sh1add a1, a1, a1 + slli a2, a1, 48 + srli a2, a2, 49 + lui a3, 16 + addiw a3, a3, -2 + and a1, a1, a3 + add a1, a1, a2 sh1add a0, a1, a0 ret func000000000000000f: # @func000000000000000f diff --git a/result/rvb23u64/f35f3b9a9ace9a30.S b/result/rvb23u64/f35f3b9a9ace9a30.S index f49878cbd36..5f228f303a3 100644 --- a/result/rvb23u64/f35f3b9a9ace9a30.S +++ b/result/rvb23u64/f35f3b9a9ace9a30.S @@ -13,14 +13,14 @@ func000000000000001d: # @func000000000000001d ret func0000000000000013: # @func0000000000000013 sh2add a0, a0, a0 - slli a0, a0, 3 - andi a0, a0, 248 + slli a0, a0, 59 + srli a0, a0, 56 addi a0, a0, 19 ret func000000000000000b: # @func000000000000000b sh1add a0, a0, a0 - slli a0, a0, 1 - zext.w a0, a0 + slli a0, a0, 33 + srli a0, a0, 32 addi a0, a0, 3 ret func000000000000000f: # @func000000000000000f diff --git a/result/rvb23u64/f3677561a1dc099b.S b/result/rvb23u64/f3677561a1dc099b.S index 79463bcc2f4..fe087c19874 100644 --- a/result/rvb23u64/f3677561a1dc099b.S +++ b/result/rvb23u64/f3677561a1dc099b.S @@ -1,7 +1,7 @@ func000000000000001f: # @func000000000000001f andi a1, a1, 255 - andi a0, a0, 15 sh1add a1, a1, a1 + andi a0, a0, 15 sh2add a0, a1, a0 ret func0000000000000015: # @func0000000000000015 @@ -14,10 +14,11 @@ func0000000000000015: # @func0000000000000015 add a0, a0, a1 ret func000000000000000f: # @func000000000000000f - slli.uw a1, a1, 1 - sh2add a1, a1, a1 + zext.w a2, a1 + sh2add.uw a1, a1, a2 srliw a0, a0, 1 - sh1add a0, a0, a1 + slli a0, a0, 1 + sh1add a0, a1, a0 ret func000000000000000a: # @func000000000000000a slli a1, a1, 32 diff --git a/result/rvb23u64/f3e34a9043becaaa.S b/result/rvb23u64/f3e34a9043becaaa.S index 2bb401443c9..e114b4d7b38 100644 --- a/result/rvb23u64/f3e34a9043becaaa.S +++ b/result/rvb23u64/f3e34a9043becaaa.S @@ -1,23 +1,26 @@ func0000000000000016: # @func0000000000000016 sext.w a1, a1 seqz a1, a1 - sh1add a1, a1, a1 - sh3add a0, a1, a0 + slli a2, a1, 4 + sh3add a1, a1, a2 + add a0, a0, a1 li a1, 1866 sh3add a0, a1, a0 ret func00000000000000c7: # @func00000000000000c7 addi a1, a1, -104 snez a1, a1 - sh3add a1, a1, a1 - sh3add a0, a1, a0 + slli a2, a1, 6 + sh3add a1, a1, a2 + add a0, a0, a1 addi a0, a0, 16 ret func00000000000000c5: # @func00000000000000c5 sext.w a1, a1 snez a1, a1 - sh1add a1, a1, a1 - sh2add a0, a1, a0 + slli a2, a1, 2 + sh3add a1, a1, a2 + add a0, a0, a1 addi a0, a0, 80 ret func0000000000000011: # @func0000000000000011 @@ -47,14 +50,16 @@ func0000000000000085: # @func0000000000000085 sext.w a1, a1 sltiu a1, a1, 3 xori a1, a1, 1 - sh2add a1, a1, a1 - sh2add a0, a1, a0 + slli a2, a1, 4 + sh2add a1, a1, a2 + add a0, a0, a1 addi a0, a0, 201 ret func0000000000000017: # @func0000000000000017 sext.w a1, a1 seqz a1, a1 - sh1add a1, a1, a1 - sh3add a0, a1, a0 + slli a2, a1, 4 + sh3add a1, a1, a2 + add a0, a0, a1 addi a0, a0, 44 ret diff --git a/result/rvb23u64/f4151c630b430b50.S b/result/rvb23u64/f4151c630b430b50.S index ff1adf21989..2fd717a4db6 100644 --- a/result/rvb23u64/f4151c630b430b50.S +++ b/result/rvb23u64/f4151c630b430b50.S @@ -10,8 +10,8 @@ func000000000000001f: # @func000000000000001f ret func000000000000000b: # @func000000000000000b addi a1, a1, -2 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh2add a0, a1, a0 addi a0, a0, 28 ret diff --git a/result/rvb23u64/f446b3f404f734cd.S b/result/rvb23u64/f446b3f404f734cd.S index 858927210d9..cd14ab35217 100644 --- a/result/rvb23u64/f446b3f404f734cd.S +++ b/result/rvb23u64/f446b3f404f734cd.S @@ -16,9 +16,8 @@ func000000000000000f: # @func000000000000000f addi a0, a0, 58 ret func000000000000000b: # @func000000000000000b - zext.w a2, a2 - li a3, 1028 - mul a2, a2, a3 + slli.uw a3, a2, 10 + sh2add.uw a2, a2, a3 add a1, a1, a2 add.uw a0, a0, a1 addi a0, a0, 4 @@ -86,8 +85,8 @@ func0000000000000003: # @func0000000000000003 li a3, 344 mul a2, a2, a3 add a1, a1, a2 - zext.w a0, a0 - sh1add a0, a0, a0 + zext.w a2, a0 + sh1add.uw a0, a0, a2 sh3add a0, a0, a1 addi a0, a0, 104 ret diff --git a/result/rvb23u64/f481bd9849082a2a.S b/result/rvb23u64/f481bd9849082a2a.S index d786a8c1b22..b3f68eff94a 100644 --- a/result/rvb23u64/f481bd9849082a2a.S +++ b/result/rvb23u64/f481bd9849082a2a.S @@ -1,6 +1,6 @@ func0000000000000001: # @func0000000000000001 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh3add a0, a1, a0 seqz a0, a0 ret diff --git a/result/rvb23u64/f4af32ded3e93c80.S b/result/rvb23u64/f4af32ded3e93c80.S index f06a3dd928b..af5e9abf0e6 100644 --- a/result/rvb23u64/f4af32ded3e93c80.S +++ b/result/rvb23u64/f4af32ded3e93c80.S @@ -1,14 +1,14 @@ func0000000000000006: # @func0000000000000006 sh1add a2, a2, a2 - li a3, -6 - sh1add a2, a2, a3 + slli a2, a2, 1 + addi a2, a2, -6 sllw a1, a1, a2 or a0, a0, a1 ret func0000000000000000: # @func0000000000000000 sh1add a2, a2, a2 - li a3, 3 - sh1add a2, a2, a3 + slli a2, a2, 1 + addi a2, a2, 3 sllw a1, a1, a2 or a0, a0, a1 ret diff --git a/result/rvb23u64/f4c0aaa7db630ce5.S b/result/rvb23u64/f4c0aaa7db630ce5.S index b58cb0a6a9c..1c70a76716d 100644 --- a/result/rvb23u64/f4c0aaa7db630ce5.S +++ b/result/rvb23u64/f4c0aaa7db630ce5.S @@ -6,9 +6,11 @@ func000000000000000b: # @func000000000000000b slli a3, a1, 32 add a1, a1, a3 mul a1, a1, a2 - neg a1, a1 - sh2add a1, a1, a1 - sh3add a0, a1, a0 + neg a2, a1 + slli a1, a1, 3 + slli a2, a2, 5 + sub a0, a0, a1 + add a0, a0, a2 ret func000000000000000a: # @func000000000000000a sub a2, a2, a1 @@ -18,7 +20,9 @@ func000000000000000a: # @func000000000000000a slli a3, a1, 32 add a1, a1, a3 mul a1, a1, a2 - neg a1, a1 - sh2add a1, a1, a1 - sh3add a0, a1, a0 + neg a2, a1 + slli a1, a1, 3 + slli a2, a2, 5 + sub a0, a0, a1 + add a0, a0, a2 ret diff --git a/result/rvb23u64/f4d609a3475fea6c.S b/result/rvb23u64/f4d609a3475fea6c.S index d2bfd329f68..4a8198b5818 100644 --- a/result/rvb23u64/f4d609a3475fea6c.S +++ b/result/rvb23u64/f4d609a3475fea6c.S @@ -2,6 +2,7 @@ func000000000000000f: # @func000000000000000f slli a1, a1, 36 srli a1, a1, 60 andi a0, a0, 3 - sh2add a0, a0, a0 - sh1add a0, a0, a1 + slli a2, a0, 1 + sh3add a0, a0, a2 + add a0, a0, a1 ret diff --git a/result/rvb23u64/f562e1645373c2ea.S b/result/rvb23u64/f562e1645373c2ea.S index 93f893ece68..ef2388e61c9 100644 --- a/result/rvb23u64/f562e1645373c2ea.S +++ b/result/rvb23u64/f562e1645373c2ea.S @@ -14,7 +14,6 @@ func0000000000000000: # @func0000000000000000 addi a0, a0, 1 srliw a0, a0, 1 sh2add a0, a0, a0 - li a1, 8 - sh3add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 3 + addiw a0, a0, 8 ret diff --git a/result/rvb23u64/f58467fcecc2955f.S b/result/rvb23u64/f58467fcecc2955f.S index 6307a5fb641..bebee4ecd2e 100644 --- a/result/rvb23u64/f58467fcecc2955f.S +++ b/result/rvb23u64/f58467fcecc2955f.S @@ -1,6 +1,7 @@ func0000000000000017: # @func0000000000000017 or a0, a0, a1 - srliw a0, a0, 1 - sh1add a0, a0, a0 + andi a1, a0, -2 + srli a0, a0, 1 + add a0, a0, a1 slliw a0, a0, 1 ret diff --git a/result/rvb23u64/f593aaa1bd30571a.S b/result/rvb23u64/f593aaa1bd30571a.S index caebf059866..eca25308a0b 100644 --- a/result/rvb23u64/f593aaa1bd30571a.S +++ b/result/rvb23u64/f593aaa1bd30571a.S @@ -11,8 +11,8 @@ func00000000000000f8: # @func00000000000000f8 sext.w a0, a0 zext.h a1, a1 sh1add a1, a1, a1 - li a2, 5 - sh1add a1, a1, a2 + slli a1, a1, 1 + addi a1, a1, 5 sltu a0, a0, a1 ret func00000000000000f1: # @func00000000000000f1 @@ -27,15 +27,15 @@ func00000000000000f1: # @func00000000000000f1 func00000000000001f8: # @func00000000000001f8 sext.w a1, a1 sh2add a1, a1, a1 - li a2, 16 - sh2add a1, a1, a2 + slli a1, a1, 2 + addi a1, a1, 16 sltu a0, a0, a1 ret func00000000000000f5: # @func00000000000000f5 - zext.w a1, a1 - sh2add a1, a1, a1 - li a2, 16 - sh3add a1, a1, a2 + zext.w a2, a1 + sh2add.uw a1, a1, a2 + slli a1, a1, 3 + addi a1, a1, 16 sltu a0, a0, a1 xori a0, a0, 1 ret diff --git a/result/rvb23u64/f5a632bd714f3f80.S b/result/rvb23u64/f5a632bd714f3f80.S index db3eca61044..30ae2612f88 100644 --- a/result/rvb23u64/f5a632bd714f3f80.S +++ b/result/rvb23u64/f5a632bd714f3f80.S @@ -14,21 +14,21 @@ func000000000000003f: # @func000000000000003f addw a0, a0, a3 ret func0000000000000001: # @func0000000000000001 + sh1add a2, a2, a2 mul a0, a0, a1 - sh1add a1, a2, a2 - sh1add a0, a1, a0 + sh1add a0, a2, a0 sext.w a0, a0 ret func0000000000000015: # @func0000000000000015 + sh1add a2, a2, a2 mul a0, a0, a1 - sh1add a1, a2, a2 - sh1add a0, a1, a0 + sh1add a0, a2, a0 sext.w a0, a0 ret func000000000000000d: # @func000000000000000d + sh1add a2, a2, a2 mul a0, a0, a1 - sh1add a1, a2, a2 - sh1add a0, a1, a0 + sh1add a0, a2, a0 sext.w a0, a0 ret func0000000000000010: # @func0000000000000010 @@ -39,9 +39,9 @@ func0000000000000010: # @func0000000000000010 addw a0, a0, a2 ret func0000000000000030: # @func0000000000000030 + sh1add a2, a2, a2 mul a0, a0, a1 - sh1add a1, a2, a2 - sh2add a0, a1, a0 + sh2add a0, a2, a0 ret func000000000000000c: # @func000000000000000c mul a1, a1, a2 diff --git a/result/rvb23u64/f5cdf26c09a4a10c.S b/result/rvb23u64/f5cdf26c09a4a10c.S index fe14aba6d8c..e90cedc9b9f 100644 --- a/result/rvb23u64/f5cdf26c09a4a10c.S +++ b/result/rvb23u64/f5cdf26c09a4a10c.S @@ -28,8 +28,9 @@ func0000000000000043: # @func0000000000000043 addi a2, a2, -1 czero.eqz a1, a2, a1 or a0, a0, a1 - slli.uw a0, a0, 3 - sh1add a0, a0, a0 + zext.w a1, a0 + sh1add.uw a0, a0, a1 + slli a0, a0, 3 ret func0000000000000037: # @func0000000000000037 sext.w a1, a1 diff --git a/result/rvb23u64/f63dc624c1f1224d.S b/result/rvb23u64/f63dc624c1f1224d.S index d4424d268fc..f95aaa1abe9 100644 --- a/result/rvb23u64/f63dc624c1f1224d.S +++ b/result/rvb23u64/f63dc624c1f1224d.S @@ -22,8 +22,8 @@ func0000000000000015: # @func0000000000000015 ret func000000000000003c: # @func000000000000003c sh1add a1, a1, a1 - li a2, 6 - sh1add a1, a1, a2 + slli a1, a1, 1 + addi a1, a1, 6 mul a0, a0, a1 ret func000000000000003d: # @func000000000000003d @@ -34,7 +34,7 @@ func000000000000003d: # @func000000000000003d ret func0000000000000014: # @func0000000000000014 sh1add a1, a1, a1 - li a2, 8 - sh3add a1, a1, a2 + slli a1, a1, 3 + addi a1, a1, 8 mul a0, a0, a1 ret diff --git a/result/rvb23u64/f6b8bdd0a4783405.S b/result/rvb23u64/f6b8bdd0a4783405.S index f26ca5a54df..001ae33761b 100644 --- a/result/rvb23u64/f6b8bdd0a4783405.S +++ b/result/rvb23u64/f6b8bdd0a4783405.S @@ -49,6 +49,6 @@ func0000000000000007: # @func0000000000000007 ret func000000000000000f: # @func000000000000000f sh2add a0, a0, a0 - li a1, 80 - sh3add a0, a0, a1 + slli a0, a0, 3 + addi a0, a0, 80 ret diff --git a/result/rvb23u64/f7d8e9d725fd35b9.S b/result/rvb23u64/f7d8e9d725fd35b9.S index 0a8896a7152..b80cde0d15a 100644 --- a/result/rvb23u64/f7d8e9d725fd35b9.S +++ b/result/rvb23u64/f7d8e9d725fd35b9.S @@ -1,6 +1,6 @@ func0000000000000000: # @func0000000000000000 mul a0, a0, a0 sh1add a0, a0, a0 - slli a0, a0, 2 - zext.w a0, a0 + slli a0, a0, 34 + srli a0, a0, 32 ret diff --git a/result/rvb23u64/f7e21aa94654b1a1.S b/result/rvb23u64/f7e21aa94654b1a1.S index 07ac1b4a9dc..1d8ccf88d82 100644 --- a/result/rvb23u64/f7e21aa94654b1a1.S +++ b/result/rvb23u64/f7e21aa94654b1a1.S @@ -7,8 +7,8 @@ func0000000000000006: # @func0000000000000006 ret func0000000000000007: # @func0000000000000007 sext.w a1, a1 - li a2, 132 - mul a1, a1, a2 + slli a2, a1, 7 + sh2add a1, a1, a2 add a0, a0, a1 addi a0, a0, 148 ret diff --git a/result/rvb23u64/f7ef960533be5892.S b/result/rvb23u64/f7ef960533be5892.S index 6f715b73b7c..4b636bd89a2 100644 --- a/result/rvb23u64/f7ef960533be5892.S +++ b/result/rvb23u64/f7ef960533be5892.S @@ -6,8 +6,8 @@ func000000000000000f: # @func000000000000000f ret func0000000000000007: # @func0000000000000007 addi a1, a1, -1 - zext.w a1, a1 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 8 ret @@ -83,8 +83,8 @@ func000000000000000b: # @func000000000000000b ret func0000000000000006: # @func0000000000000006 addi a1, a1, -1 - zext.w a1, a1 - sh2add a1, a1, a1 + zext.w a2, a1 + sh2add.uw a1, a1, a2 sh2add a0, a1, a0 addi a0, a0, 12 ret diff --git a/result/rvb23u64/f8e8679ada9b19dc.S b/result/rvb23u64/f8e8679ada9b19dc.S index d2a957fff93..9b1c76ae3b1 100644 --- a/result/rvb23u64/f8e8679ada9b19dc.S +++ b/result/rvb23u64/f8e8679ada9b19dc.S @@ -7,8 +7,8 @@ func000000000000000d: # @func000000000000000d srli a2, a2, 3 sh1add a2, a2, a2 slli a2, a2, 2 - sub a2, a2, a1 sh1add a0, a0, a0 + sub a2, a2, a1 sh2add a0, a0, a2 ret func000000000000000f: # @func000000000000000f @@ -20,8 +20,8 @@ func000000000000000f: # @func000000000000000f srli a2, a2, 3 sh1add a2, a2, a2 slli a2, a2, 2 - sub a2, a2, a1 sh1add a0, a0, a0 + sub a2, a2, a1 sh2add a0, a0, a2 ret func0000000000000000: # @func0000000000000000 @@ -33,8 +33,8 @@ func0000000000000000: # @func0000000000000000 srli a2, a2, 5 sh2add a2, a2, a2 slli a2, a2, 3 - sub a2, a2, a1 sh2add a0, a0, a0 + sub a2, a2, a1 sh3add a0, a0, a2 ret func0000000000000005: # @func0000000000000005 diff --git a/result/rvb23u64/f9282e480ae4626a.S b/result/rvb23u64/f9282e480ae4626a.S index 77a6106b7c1..9100abe56b1 100644 --- a/result/rvb23u64/f9282e480ae4626a.S +++ b/result/rvb23u64/f9282e480ae4626a.S @@ -1,10 +1,12 @@ func00000000000000dd: # @func00000000000000dd - slli.uw a1, a1, 3 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 + slli a1, a1, 3 sub a0, a1, a0 ret func00000000000000df: # @func00000000000000df - slli.uw a1, a1, 2 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 + slli a1, a1, 2 sub a0, a1, a0 ret diff --git a/result/rvb23u64/f97acaa95348d1d4.S b/result/rvb23u64/f97acaa95348d1d4.S index 4925e2f2f50..0f7bc1c3967 100644 --- a/result/rvb23u64/f97acaa95348d1d4.S +++ b/result/rvb23u64/f97acaa95348d1d4.S @@ -47,8 +47,8 @@ func0000000000000019: # @func0000000000000019 ret func0000000000000001: # @func0000000000000001 sh2add a0, a0, a0 - slli a0, a0, 1 - srliw a0, a0, 9 + slli a0, a0, 33 + srli a0, a0, 41 li a1, -48 mul a0, a0, a1 ret diff --git a/result/rvb23u64/f9b41c99b184b5f1.S b/result/rvb23u64/f9b41c99b184b5f1.S index ff23510a3eb..ca20d515205 100644 --- a/result/rvb23u64/f9b41c99b184b5f1.S +++ b/result/rvb23u64/f9b41c99b184b5f1.S @@ -5,15 +5,14 @@ func000000000000000f: # @func000000000000000f ret func000000000000000a: # @func000000000000000a sh1add a0, a0, a0 - li a1, -6 - sh1add a0, a0, a1 + slli a0, a0, 1 + addi a0, a0, -6 zext.w a0, a0 ret func000000000000000b: # @func000000000000000b sh1add a0, a0, a0 - li a1, -6 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, -6 ret func0000000000000000: # @func0000000000000000 addi a0, a0, 1 diff --git a/result/rvb23u64/f9ffd5fe1b7c070b.S b/result/rvb23u64/f9ffd5fe1b7c070b.S index 950ed075fa4..f6bf9aa2eed 100644 --- a/result/rvb23u64/f9ffd5fe1b7c070b.S +++ b/result/rvb23u64/f9ffd5fe1b7c070b.S @@ -14,8 +14,8 @@ func0000000000000075: # @func0000000000000075 ret func000000000000004f: # @func000000000000004f sh2add a1, a1, a1 - slli a1, a1, 1 - andi a1, a1, 254 + slli a1, a1, 57 + srli a1, a1, 56 li a2, 100 mul a0, a0, a2 addw a0, a0, a1 diff --git a/result/rvb23u64/fa0a6b9ad6bc288c.S b/result/rvb23u64/fa0a6b9ad6bc288c.S index b37b2066779..9bf98b3a16b 100644 --- a/result/rvb23u64/fa0a6b9ad6bc288c.S +++ b/result/rvb23u64/fa0a6b9ad6bc288c.S @@ -1,8 +1,7 @@ func0000000000000001: # @func0000000000000001 sh1add a0, a0, a0 - li a1, 6 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, 6 ret func0000000000000005: # @func0000000000000005 addi a0, a0, -1 @@ -11,7 +10,6 @@ func0000000000000005: # @func0000000000000005 ret func0000000000000004: # @func0000000000000004 sh1add a0, a0, a0 - li a1, -6 - sh1add a0, a0, a1 - sext.w a0, a0 + slli a0, a0, 1 + addiw a0, a0, -6 ret diff --git a/result/rvb23u64/fa0c6b1e1f1ebc87.S b/result/rvb23u64/fa0c6b1e1f1ebc87.S index 04c391de823..52774b65546 100644 --- a/result/rvb23u64/fa0c6b1e1f1ebc87.S +++ b/result/rvb23u64/fa0c6b1e1f1ebc87.S @@ -15,8 +15,9 @@ func0000000000000002: # @func0000000000000002 sext.w a0, a0 ret func0000000000000007: # @func0000000000000007 - srli a0, a0, 3 - sh1add a0, a0, a0 + srli a1, a0, 3 + srli a0, a0, 2 + add a0, a0, a1 slli a0, a0, 1 ret func0000000000000001: # @func0000000000000001 diff --git a/result/rvb23u64/fa3587b3f714d430.S b/result/rvb23u64/fa3587b3f714d430.S index 79cb6d4072a..e2e6adc438a 100644 --- a/result/rvb23u64/fa3587b3f714d430.S +++ b/result/rvb23u64/fa3587b3f714d430.S @@ -4,9 +4,9 @@ func000000000000001c: # @func000000000000001c slli a3, a3, 24 addi a3, a3, 15 and a2, a2, a3 + sh1add a2, a2, a2 or a0, a0, a1 - sh1add a1, a2, a2 - sh1add a0, a1, a0 + sh1add a0, a2, a0 ret func000000000000001f: # @func000000000000001f lui a3, 61440 @@ -14,9 +14,9 @@ func000000000000001f: # @func000000000000001f slli a3, a3, 24 addi a3, a3, 15 and a2, a2, a3 + sh1add a2, a2, a2 or a0, a0, a1 - sh1add a1, a2, a2 - sh1add a0, a1, a0 + sh1add a0, a2, a0 ret func0000000000000015: # @func0000000000000015 li a3, 127 diff --git a/result/rvb23u64/fa4319c20a32ecac.S b/result/rvb23u64/fa4319c20a32ecac.S index b9108497f4d..91bfecd4452 100644 --- a/result/rvb23u64/fa4319c20a32ecac.S +++ b/result/rvb23u64/fa4319c20a32ecac.S @@ -2,8 +2,9 @@ func0000000000000005: # @func0000000000000005 li a1, -1 slli a1, a1, 32 add a0, a0, a1 - srai a0, a0, 32 - sh1add a0, a0, a0 + srai a1, a0, 32 + srai a0, a0, 31 + add a0, a0, a1 slli a0, a0, 3 ret func0000000000000009: # @func0000000000000009 diff --git a/result/rvb23u64/fa84519b3ef0aef0.S b/result/rvb23u64/fa84519b3ef0aef0.S index 7b1e0da0023..15473fdafa7 100644 --- a/result/rvb23u64/fa84519b3ef0aef0.S +++ b/result/rvb23u64/fa84519b3ef0aef0.S @@ -7,7 +7,7 @@ func0000000000000076: # @func0000000000000076 func0000000000000044: # @func0000000000000044 sext.w a0, a0 sh2add a1, a1, a1 - slli a1, a1, 1 - zext.h a1, a1 + slli a1, a1, 49 + srli a1, a1, 48 sltu a0, a1, a0 ret diff --git a/result/rvb23u64/faaaead7e0cc5ba9.S b/result/rvb23u64/faaaead7e0cc5ba9.S index cc029db0322..bfba7f0d678 100644 --- a/result/rvb23u64/faaaead7e0cc5ba9.S +++ b/result/rvb23u64/faaaead7e0cc5ba9.S @@ -26,8 +26,8 @@ func000000000000000e: # @func000000000000000e addi a0, a0, 160 ret func0000000000000004: # @func0000000000000004 - zext.w a1, a1 - sh2add a1, a1, a1 + zext.w a2, a1 + sh2add.uw a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 48 ret diff --git a/result/rvb23u64/fac9d87a9614aa52.S b/result/rvb23u64/fac9d87a9614aa52.S index 4a852d1e091..ec66b2b72ab 100644 --- a/result/rvb23u64/fac9d87a9614aa52.S +++ b/result/rvb23u64/fac9d87a9614aa52.S @@ -13,8 +13,9 @@ func0000000000000071: # @func0000000000000071 seqz a0, a0 ret func0000000000000038: # @func0000000000000038 - slli.uw a1, a1, 3 - sh1add a1, a1, a1 + zext.w a2, a1 + sh1add.uw a1, a1, a2 + slli a1, a1, 3 sltu a0, a1, a0 ret func000000000000003a: # @func000000000000003a diff --git a/result/rvb23u64/fae42e201ddda0f8.S b/result/rvb23u64/fae42e201ddda0f8.S index 424b3a3ecc0..f7f62e1014a 100644 --- a/result/rvb23u64/fae42e201ddda0f8.S +++ b/result/rvb23u64/fae42e201ddda0f8.S @@ -7,8 +7,8 @@ func0000000000000026: # @func0000000000000026 ret func000000000000003f: # @func000000000000003f srliw a1, a0, 4 - andi a0, a0, 15 sh2add a1, a1, a1 + andi a0, a0, 15 sh1add a0, a1, a0 lui a1, 16 addi a1, a1, -1 diff --git a/result/rvb23u64/fb07e1a9c57039f2.S b/result/rvb23u64/fb07e1a9c57039f2.S index 354f76a8c63..824aa073a20 100644 --- a/result/rvb23u64/fb07e1a9c57039f2.S +++ b/result/rvb23u64/fb07e1a9c57039f2.S @@ -1,8 +1,8 @@ func0000000000000055: # @func0000000000000055 sext.b a1, a1 + sh2add a1, a1, a1 li a2, 100 mul a0, a0, a2 - sh2add a1, a1, a1 sh1add a0, a1, a0 li a1, -1332 sh2add a0, a1, a0 diff --git a/result/rvb23u64/fb8ee047ad50bbfa.S b/result/rvb23u64/fb8ee047ad50bbfa.S index 289b5e425fd..40caca56915 100644 --- a/result/rvb23u64/fb8ee047ad50bbfa.S +++ b/result/rvb23u64/fb8ee047ad50bbfa.S @@ -1,7 +1,9 @@ func0000000000000031: # @func0000000000000031 - neg a2, a2 - sh1add a2, a2, a2 - sh2add a1, a2, a1 + neg a3, a2 + slli a3, a3, 3 + slli a2, a2, 2 + sub a1, a1, a2 + add a1, a1, a3 xor a0, a0, a1 seqz a0, a0 ret diff --git a/result/rvb23u64/fc1e80716503b14c.S b/result/rvb23u64/fc1e80716503b14c.S index 61a94efc219..0c214425472 100644 --- a/result/rvb23u64/fc1e80716503b14c.S +++ b/result/rvb23u64/fc1e80716503b14c.S @@ -1,7 +1,7 @@ func0000000000000000: # @func0000000000000000 sh1add a0, a0, a0 - li a1, 3 - sh1add a0, a0, a1 + slli a0, a0, 1 + addi a0, a0, 3 li a1, 7 sllw a0, a1, a0 not a0, a0 diff --git a/result/rvb23u64/fc26f8d7b51b3eea.S b/result/rvb23u64/fc26f8d7b51b3eea.S index d52a94721a4..e9530f558df 100644 --- a/result/rvb23u64/fc26f8d7b51b3eea.S +++ b/result/rvb23u64/fc26f8d7b51b3eea.S @@ -6,18 +6,22 @@ func0000000000000004: # @func0000000000000004 addi a0, a0, 84 ret func0000000000000007: # @func0000000000000007 - neg a2, a2 + neg a3, a2 sh1add a1, a1, a1 sh2add a0, a1, a0 - sh1add a1, a2, a2 - sh2add a0, a1, a0 + slli a3, a3, 3 + slli a2, a2, 2 + sub a3, a3, a2 + add a0, a0, a3 addi a0, a0, 8 ret func0000000000000006: # @func0000000000000006 - neg a2, a2 + neg a3, a2 sh1add a1, a1, a1 sh2add a0, a1, a0 - sh1add a1, a2, a2 - sh2add a0, a1, a0 + slli a3, a3, 3 + slli a2, a2, 2 + sub a3, a3, a2 + add a0, a0, a3 addi a0, a0, 8 ret diff --git a/result/rvb23u64/fc5c346435b35fea.S b/result/rvb23u64/fc5c346435b35fea.S index 061b7db98fc..7e74a97db74 100644 --- a/result/rvb23u64/fc5c346435b35fea.S +++ b/result/rvb23u64/fc5c346435b35fea.S @@ -1,7 +1,7 @@ func000000000000006b: # @func000000000000006b sh1add a0, a0, a0 - li a1, -12 - sh2add a0, a0, a1 + slli a0, a0, 2 + addi a0, a0, -12 lui a1, 699051 addiw a1, a1, -1365 slli a2, a1, 32 diff --git a/result/rvb23u64/fca4f9c2b3eb976d.S b/result/rvb23u64/fca4f9c2b3eb976d.S index 0e880abca20..31252cf237f 100644 --- a/result/rvb23u64/fca4f9c2b3eb976d.S +++ b/result/rvb23u64/fca4f9c2b3eb976d.S @@ -5,6 +5,6 @@ func0000000000000000: # @func0000000000000000 czero.eqz a0, a2, a0 or a0, a0, a1 sext.w a0, a0 - li a1, 68 - mul a0, a0, a1 + slli a1, a0, 6 + sh2add a0, a0, a1 ret diff --git a/result/rvb23u64/fccdb37f209ba3ae.S b/result/rvb23u64/fccdb37f209ba3ae.S index 8e5d0e40c65..424867c511e 100644 --- a/result/rvb23u64/fccdb37f209ba3ae.S +++ b/result/rvb23u64/fccdb37f209ba3ae.S @@ -1,7 +1,7 @@ func0000000000000006: # @func0000000000000006 sh1add a1, a1, a1 - li a2, 2 - sh1add a1, a1, a2 + slli a1, a1, 1 + addi a1, a1, 2 zext.w a1, a1 slt a0, a0, a1 ret @@ -15,9 +15,8 @@ func0000000000000001: # @func0000000000000001 ret func0000000000000011: # @func0000000000000011 sh2add a1, a1, a1 - li a2, 10 - sh1add a1, a1, a2 - sext.w a1, a1 + slli a1, a1, 1 + addiw a1, a1, 10 xor a0, a0, a1 seqz a0, a0 ret diff --git a/result/rvb23u64/fd29ebf19032e1ea.S b/result/rvb23u64/fd29ebf19032e1ea.S index 0e442723064..17d2af2539a 100644 --- a/result/rvb23u64/fd29ebf19032e1ea.S +++ b/result/rvb23u64/fd29ebf19032e1ea.S @@ -7,8 +7,8 @@ func00000000000001f5: # @func00000000000001f5 ret func00000000000001f4: # @func00000000000001f4 sh1add a1, a1, a1 - li a2, 3 - sh1add a1, a1, a2 + slli a1, a1, 1 + addi a1, a1, 3 sext.w a0, a0 sltu a0, a1, a0 ret diff --git a/result/rvb23u64/fd375c23ffd207ae.S b/result/rvb23u64/fd375c23ffd207ae.S index 8dc19fecbfa..73686851edb 100644 --- a/result/rvb23u64/fd375c23ffd207ae.S +++ b/result/rvb23u64/fd375c23ffd207ae.S @@ -6,8 +6,8 @@ func0000000000000038: # @func0000000000000038 ret func0000000000000004: # @func0000000000000004 addi a2, a2, 1 - zext.w a2, a2 - sh1add a2, a2, a2 + zext.w a3, a2 + sh1add.uw a2, a2, a3 sh3add a1, a2, a1 addi a1, a1, 24 sltu a0, a1, a0 diff --git a/result/rvb23u64/fd40d0505ed53bd6.S b/result/rvb23u64/fd40d0505ed53bd6.S index 59affad9a3a..4d7950b1f5b 100644 --- a/result/rvb23u64/fd40d0505ed53bd6.S +++ b/result/rvb23u64/fd40d0505ed53bd6.S @@ -28,7 +28,8 @@ func0000000000000000: # @func0000000000000000 addi a0, a0, 2 srli a1, a0, 63 add a0, a0, a1 - srai a0, a0, 1 - sh1add a0, a0, a0 + srai a1, a0, 1 + andi a0, a0, -2 + add a0, a0, a1 slli a0, a0, 3 ret diff --git a/result/rvb23u64/fe027d0eae80e607.S b/result/rvb23u64/fe027d0eae80e607.S index 60e0b5d9b31..5dc75e6b7f4 100644 --- a/result/rvb23u64/fe027d0eae80e607.S +++ b/result/rvb23u64/fe027d0eae80e607.S @@ -1,10 +1,13 @@ func0000000000000037: # @func0000000000000037 - srai a2, a2, 32 - sh2add a2, a2, a2 + srai a3, a2, 32 + srai a2, a2, 30 + add a2, a2, a3 sh3add a1, a2, a1 - neg a0, a0 - sh2add a0, a0, a0 - sh3add a0, a0, a1 + neg a2, a0 + slli a2, a2, 5 + slli a0, a0, 3 + sub a2, a2, a0 + add a0, a1, a2 addi a0, a0, 16 ret func0000000000000027: # @func0000000000000027 diff --git a/result/rvb23u64/fe2f62f38bed70a1.S b/result/rvb23u64/fe2f62f38bed70a1.S index 3cab5c4c136..06ab0ea93e7 100644 --- a/result/rvb23u64/fe2f62f38bed70a1.S +++ b/result/rvb23u64/fe2f62f38bed70a1.S @@ -13,8 +13,8 @@ func000000000000000f: # @func000000000000000f addi a0, a0, 2 ret func000000000000000c: # @func000000000000000c - zext.w a1, a1 - sh2add a1, a1, a1 + zext.w a2, a1 + sh2add.uw a1, a1, a2 sh3add a0, a1, a0 addi a0, a0, 40 ret diff --git a/result/rvb23u64/feae0e24901db5b5.S b/result/rvb23u64/feae0e24901db5b5.S index 092ad5f6588..ee4748ea3d8 100644 --- a/result/rvb23u64/feae0e24901db5b5.S +++ b/result/rvb23u64/feae0e24901db5b5.S @@ -5,8 +5,8 @@ func000000000000000f: # @func000000000000000f addi a0, a0, 2 ret func000000000000000c: # @func000000000000000c - zext.w a2, a2 - sh1add a2, a2, a2 + zext.w a3, a2 + sh1add.uw a2, a2, a3 sh2add a1, a2, a1 sh1add a0, a0, a0 sh2add a0, a0, a1 diff --git a/result/rvb23u64/ff1c641cd9b69313.S b/result/rvb23u64/ff1c641cd9b69313.S index 85254969362..35cdcfcd4ec 100644 --- a/result/rvb23u64/ff1c641cd9b69313.S +++ b/result/rvb23u64/ff1c641cd9b69313.S @@ -1,6 +1,8 @@ func0000000000000001: # @func0000000000000001 - sraiw a1, a1, 1 - sh1add a1, a1, a1 + sext.w a1, a1 + srli a2, a1, 1 + andi a1, a1, -2 + add a1, a1, a2 sh2add a0, a1, a0 ret func0000000000000000: # @func0000000000000000 diff --git a/result/rvb23u64/ff7a885d27f2ba9c.S b/result/rvb23u64/ff7a885d27f2ba9c.S index 49bd1a87195..aeb6d7a2bf0 100644 --- a/result/rvb23u64/ff7a885d27f2ba9c.S +++ b/result/rvb23u64/ff7a885d27f2ba9c.S @@ -10,9 +10,9 @@ func0000000000000014: # @func0000000000000014 sltu a0, a0, a1 ret func0000000000000004: # @func0000000000000004 - zext.w a1, a1 + zext.w a2, a1 addi a0, a0, 120 - sh2add a1, a1, a1 + sh2add.uw a1, a1, a2 sh3add a1, a1, a0 sltu a0, a0, a1 ret diff --git a/result/rvb23u64/ff7c7eba0b23a908.S b/result/rvb23u64/ff7c7eba0b23a908.S index 3987a976d47..d723036d536 100644 --- a/result/rvb23u64/ff7c7eba0b23a908.S +++ b/result/rvb23u64/ff7c7eba0b23a908.S @@ -7,9 +7,9 @@ func0000000000000002: # @func0000000000000002 ret func0000000000000000: # @func0000000000000000 sh1add a0, a0, a0 - slli a0, a0, 2 - sraiw a1, a0, 31 + slli a1, a0, 2 + sraiw a1, a1, 31 srliw a1, a1, 29 - add a0, a0, a1 + sh2add a0, a0, a1 sraiw a0, a0, 3 ret diff --git a/result/rvb23u64/ffa811f58ef8cb78.S b/result/rvb23u64/ffa811f58ef8cb78.S index df90a110a23..44da6680ab1 100644 --- a/result/rvb23u64/ffa811f58ef8cb78.S +++ b/result/rvb23u64/ffa811f58ef8cb78.S @@ -1,7 +1,7 @@ func0000000000000054: # @func0000000000000054 sext.w a1, a1 sh2add a1, a1, a1 - li a2, 120 - sh3add a1, a1, a2 + slli a1, a1, 3 + addi a1, a1, 120 sltu a0, a0, a1 ret