{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,16]],"date-time":"2026-03-16T21:36:22Z","timestamp":1773696982765,"version":"3.50.1"},"reference-count":44,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2018,2,12]],"date-time":"2018-02-12T00:00:00Z","timestamp":1518393600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100004663","name":"Ministry of Science and Technology of Taiwan","doi-asserted-by":"crossref","award":["MOST-106-2218-E-002-040"],"award-info":[{"award-number":["MOST-106-2218-E-002-040"]}],"id":[{"id":"10.13039\/501100004663","id-type":"DOI","asserted-by":"crossref"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Embed. Comput. Syst."],"published-print":{"date-parts":[[2018,5,31]]},"abstract":"<jats:p>Recent trends in SIMD architecture have tended toward longer vector lengths, and more enhanced SIMD features have been introduced in newer vector instruction sets. However, legacy or proprietary applications compiled with short-SIMD ISA cannot benefit from the long-SIMD architecture that supports improved parallelism and enhanced vector primitives, resulting in only a small fraction of potential peak performance. This article presents a dynamic binary translation technique that enables short-SIMD binaries to exploit benefits of new SIMD architectures by rewriting short-SIMD loop code. We propose a general approach that translates loops consisting of short-SIMD instructions to machine-independent IR, conducts SIMD loop transformation\/optimization at this IR level, and finally translates to long-SIMD instructions. Two solutions are presented to enforce SIMD load\/store alignment, one for the problem caused by the binary translator\u2019s internal translation condition and one general approach using dynamic loop peeling optimization. Benchmark results show that average speedups of 1.51\u00d7 and 2.48\u00d7 are achieved for an ARM NEON to x86 AVX2 and x86 AVX-512 loop transformation, respectively.<\/jats:p>","DOI":"10.1145\/3173456","type":"journal-article","created":{"date-parts":[[2018,2,12]],"date-time":"2018-02-12T14:02:50Z","timestamp":1518444170000},"page":"1-27","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":11,"title":["Improving SIMD Parallelism via Dynamic Binary Translation"],"prefix":"10.1145","volume":"17","author":[{"given":"Ding-Yong","family":"Hong","sequence":"first","affiliation":[{"name":"Institute of Information Science, Academia Sinica, Taipei, Taiwan"}]},{"given":"Yu-Ping","family":"Liu","sequence":"additional","affiliation":[{"name":"Department of Computer Science and Information Engineering, National Taiwan University, Taipei, Taiwan"}]},{"given":"Sheng-Yu","family":"Fu","sequence":"additional","affiliation":[{"name":"Department of Computer Science and Information Engineering, National Taiwan University, Taipei, Taiwan"}]},{"given":"Jan-Jan","family":"Wu","sequence":"additional","affiliation":[{"name":"Institute of Information Science, Academia Sinica, Taipei, Taiwan"}]},{"given":"Wei-Chung","family":"Hsu","sequence":"additional","affiliation":[{"name":"Department of Computer Science and Information Engineering, National Taiwan University, Taipei, Taiwan"}]}],"member":"320","published-online":{"date-parts":[[2018,2,12]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/349299.349303"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.5555\/956417.956550"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2010.38"},{"key":"e_1_2_1_5_1","volume-title":"USENIX Annual Technical Conference. 41--46","author":"Bellard Fabrice","year":"2005"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1023\/A:1014230429447"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.5555\/776261.776290"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1007\/11403937_40"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.5555\/776261.776263"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/378993.379241"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/264107.264126"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICPADS.2015.70"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10766-016-0480-z"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1109\/SAMOS.2015.7363680"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICPADS.2016.0115"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/2259016.2259030"},{"key":"e_1_2_1_17_1","unstructured":"Intel Corporation. 2016. Intel\u00ae64 and IA-32 Architectures Optimization Reference Manual.  Intel Corporation. 2016. Intel\u00ae64 and IA-32 Architectures Optimization Reference Manual."},{"key":"e_1_2_1_18_1","unstructured":"JVM. 1999. HotSpot parallel collector. In Memory Management in the Java HotSpot Virtual Machine Whitepaper.  JVM. 1999. HotSpot parallel collector. In Memory Management in the Java HotSpot Virtual Machine Whitepaper."},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.5555\/2190025.2190061"},{"key":"e_1_2_1_20_1","volume-title":"Security Symposium. 191--206","author":"Kiriansky Vladimir"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1109\/71.86109"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2010.27"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/349299.349320"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.5555\/977395.977673"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2006.27"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/2254064.2254106"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/1065010.1065034"},{"key":"e_1_2_1_29_1","doi-asserted-by":"crossref","unstructured":"Luc Michel Nicolas Fournel and Frederic Petrot. 2011. Speeding-up SIMD instructions dynamic binary translation in embedded processor simulation. In Design Automation 8 Test in Europe Conference 8 Exhibition. 1530--1591.  Luc Michel Nicolas Fournel and Frederic Petrot. 2011. Speeding-up SIMD instructions dynamic binary translation in embedded processor simulation. In Design Automation 8 Test in Europe Conference 8 Exhibition. 1530--1591.","DOI":"10.1109\/DATE.2011.5763274"},{"key":"e_1_2_1_30_1","volume-title":"Proceedings of the GCC Developers Summit. 105--117","author":"Naishlos Dorit","year":"2004"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/1250734.1250746"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.5555\/2190025.2190062"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.5555\/545215.545246"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1109\/PACT.2015.32"},{"key":"e_1_2_1_35_1","volume-title":"International Symposium on Code Generation and Optimization. 190--201","author":"Porpodas Vasileios"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.5555\/900529"},{"key":"e_1_2_1_37_1","first-page":"1","article-title":"Exploiting superword-level locality in multimedia extension architectures","volume":"5","author":"Shin Jaewook","year":"2003","journal-title":"Journal of Instruction-Level Parallelism"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.5555\/2392163.2392166"},{"key":"e_1_2_1_39_1","volume-title":"Compiler annotation for binary translation tools","author":"Wang Fu-Hwa","year":"2003"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/1565824.1565832"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1109\/71.159042"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/1254810.1254831"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISPASS.2007.363733"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/2886101"},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/2854038.2854054"},{"key":"e_1_2_1_46_1","volume-title":"Supercompilers for Parallel and Vector Computers","author":"Zima Hans"}],"container-title":["ACM Transactions on Embedded Computing Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3173456","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3173456","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T03:02:45Z","timestamp":1750215765000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3173456"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018,2,12]]},"references-count":44,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2018,5,31]]}},"alternative-id":["10.1145\/3173456"],"URL":"https:\/\/doi.org\/10.1145\/3173456","relation":{},"ISSN":["1539-9087","1558-3465"],"issn-type":[{"value":"1539-9087","type":"print"},{"value":"1558-3465","type":"electronic"}],"subject":[],"published":{"date-parts":[[2018,2,12]]},"assertion":[{"value":"2017-04-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2017-12-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2018-02-12","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}