replace.wast 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. ;;-------------------------------------------------------------------------------------------------------
  2. ;; Copyright (C) Microsoft Corporation and contributors. All rights reserved.
  3. ;; Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
  4. ;;-------------------------------------------------------------------------------------------------------
  5. (module
  6. (import "dummy" "memory" (memory 1))
  7. (func (export "i32x4_replace0") (param i32 i32) (local v128)
  8. (set_local 2 (i32x4.splat (get_local 0)))
  9. (set_local 2 (i32x4.replace_lane 0 (get_local 2) (get_local 1)))
  10. (v128.store offset=0 align=4 (i32.const 0) (get_local 2))
  11. )
  12. (func (export "i32x4_replace1") (param i32 i32) (local v128)
  13. (set_local 2 (i32x4.splat (get_local 0)))
  14. (set_local 2 (i32x4.replace_lane 1 (get_local 2) (get_local 1)))
  15. (v128.store offset=0 align=4 (i32.const 0) (get_local 2))
  16. )
  17. (func (export "i32x4_replace2") (param i32 i32) (local v128)
  18. (set_local 2 (i32x4.splat (get_local 0)))
  19. (set_local 2 (i32x4.replace_lane 2 (get_local 2) (get_local 1)))
  20. (v128.store offset=0 align=4 (i32.const 0) (get_local 2))
  21. )
  22. (func (export "i32x4_replace3") (param i32 i32) (local v128)
  23. (set_local 2 (i32x4.splat (get_local 0)))
  24. (set_local 2 (i32x4.replace_lane 3 (get_local 2) (get_local 1)))
  25. (v128.store offset=0 align=4 (i32.const 0) (get_local 2))
  26. )
  27. (func (export "i16x8_replace0") (param i32 i32) (local v128)
  28. (set_local 2 (i16x8.splat (get_local 0)))
  29. (set_local 2 (i16x8.replace_lane 0 (get_local 2) (get_local 1)))
  30. (v128.store offset=0 align=4 (i32.const 0) (get_local 2))
  31. )
  32. (func (export "i16x8_replace1") (param i32 i32) (local v128)
  33. (set_local 2 (i16x8.splat (get_local 0)))
  34. (set_local 2 (i16x8.replace_lane 1 (get_local 2) (get_local 1)))
  35. (v128.store offset=0 align=4 (i32.const 0) (get_local 2))
  36. )
  37. (func (export "i16x8_replace2") (param i32 i32) (local v128)
  38. (set_local 2 (i16x8.splat (get_local 0)))
  39. (set_local 2 (i16x8.replace_lane 2 (get_local 2) (get_local 1)))
  40. (v128.store offset=0 align=4 (i32.const 0) (get_local 2))
  41. )
  42. (func (export "i16x8_replace3") (param i32 i32) (local v128)
  43. (set_local 2 (i16x8.splat (get_local 0)))
  44. (set_local 2 (i16x8.replace_lane 3 (get_local 2) (get_local 1)))
  45. (v128.store offset=0 align=4 (i32.const 0) (get_local 2))
  46. )
  47. (func (export "i16x8_replace4") (param i32 i32) (local v128)
  48. (set_local 2 (i16x8.splat (get_local 0)))
  49. (set_local 2 (i16x8.replace_lane 4 (get_local 2) (get_local 1)))
  50. (v128.store offset=0 align=4 (i32.const 0) (get_local 2))
  51. )
  52. (func (export "i16x8_replace5") (param i32 i32) (local v128)
  53. (set_local 2 (i16x8.splat (get_local 0)))
  54. (set_local 2 (i16x8.replace_lane 5 (get_local 2) (get_local 1)))
  55. (v128.store offset=0 align=4 (i32.const 0) (get_local 2))
  56. )
  57. (func (export "i16x8_replace6") (param i32 i32) (local v128)
  58. (set_local 2 (i16x8.splat (get_local 0)))
  59. (set_local 2 (i16x8.replace_lane 6 (get_local 2) (get_local 1)))
  60. (v128.store offset=0 align=4 (i32.const 0) (get_local 2))
  61. )
  62. (func (export "i16x8_replace7") (param i32 i32) (local v128)
  63. (set_local 2 (i16x8.splat (get_local 0)))
  64. (set_local 2 (i16x8.replace_lane 7 (get_local 2) (get_local 1)))
  65. (v128.store offset=0 align=4 (i32.const 0) (get_local 2))
  66. )
  67. (func (export "i8x16_replace0") (param i32 i32) (local v128)
  68. (set_local 2 (i8x16.splat (get_local 0)))
  69. (set_local 2 (i8x16.replace_lane 0 (get_local 2) (get_local 1)))
  70. (v128.store offset=0 align=4 (i32.const 0) (get_local 2))
  71. )
  72. (func (export "i8x16_replace1") (param i32 i32) (local v128)
  73. (set_local 2 (i8x16.splat (get_local 0)))
  74. (set_local 2 (i8x16.replace_lane 1 (get_local 2) (get_local 1)))
  75. (v128.store offset=0 align=4 (i32.const 0) (get_local 2))
  76. )
  77. (func (export "i8x16_replace2") (param i32 i32) (local v128)
  78. (set_local 2 (i8x16.splat (get_local 0)))
  79. (set_local 2 (i8x16.replace_lane 2 (get_local 2) (get_local 1)))
  80. (v128.store offset=0 align=4 (i32.const 0) (get_local 2))
  81. )
  82. (func (export "i8x16_replace3") (param i32 i32) (local v128)
  83. (set_local 2 (i8x16.splat (get_local 0)))
  84. (set_local 2 (i8x16.replace_lane 3 (get_local 2) (get_local 1)))
  85. (v128.store offset=0 align=4 (i32.const 0) (get_local 2))
  86. )
  87. (func (export "i8x16_replace4") (param i32 i32) (local v128)
  88. (set_local 2 (i8x16.splat (get_local 0)))
  89. (set_local 2 (i8x16.replace_lane 4 (get_local 2) (get_local 1)))
  90. (v128.store offset=0 align=4 (i32.const 0) (get_local 2))
  91. )
  92. (func (export "i8x16_replace5") (param i32 i32) (local v128)
  93. (set_local 2 (i8x16.splat (get_local 0)))
  94. (set_local 2 (i8x16.replace_lane 5 (get_local 2) (get_local 1)))
  95. (v128.store offset=0 align=4 (i32.const 0) (get_local 2))
  96. )
  97. (func (export "i8x16_replace6") (param i32 i32) (local v128)
  98. (set_local 2 (i8x16.splat (get_local 0)))
  99. (set_local 2 (i8x16.replace_lane 6 (get_local 2) (get_local 1)))
  100. (v128.store offset=0 align=4 (i32.const 0) (get_local 2))
  101. )
  102. (func (export "i8x16_replace7") (param i32 i32) (local v128)
  103. (set_local 2 (i8x16.splat (get_local 0)))
  104. (set_local 2 (i8x16.replace_lane 7 (get_local 2) (get_local 1)))
  105. (v128.store offset=0 align=4 (i32.const 0) (get_local 2))
  106. )
  107. (func (export "i8x16_replace8") (param i32 i32) (local v128)
  108. (set_local 2 (i8x16.splat (get_local 0)))
  109. (set_local 2 (i8x16.replace_lane 8 (get_local 2) (get_local 1)))
  110. (v128.store offset=0 align=4 (i32.const 0) (get_local 2))
  111. )
  112. (func (export "i8x16_replace9") (param i32 i32) (local v128)
  113. (set_local 2 (i8x16.splat (get_local 0)))
  114. (set_local 2 (i8x16.replace_lane 9 (get_local 2) (get_local 1)))
  115. (v128.store offset=0 align=4 (i32.const 0) (get_local 2))
  116. )
  117. (func (export "i8x16_replace10") (param i32 i32) (local v128)
  118. (set_local 2 (i8x16.splat (get_local 0)))
  119. (set_local 2 (i8x16.replace_lane 10 (get_local 2) (get_local 1)))
  120. (v128.store offset=0 align=4 (i32.const 0) (get_local 2))
  121. )
  122. (func (export "i8x16_replace11") (param i32 i32) (local v128)
  123. (set_local 2 (i8x16.splat (get_local 0)))
  124. (set_local 2 (i8x16.replace_lane 11 (get_local 2) (get_local 1)))
  125. (v128.store offset=0 align=4 (i32.const 0) (get_local 2))
  126. )
  127. (func (export "i8x16_replace12") (param i32 i32) (local v128)
  128. (set_local 2 (i8x16.splat (get_local 0)))
  129. (set_local 2 (i8x16.replace_lane 12 (get_local 2) (get_local 1)))
  130. (v128.store offset=0 align=4 (i32.const 0) (get_local 2))
  131. )
  132. (func (export "i8x16_replace13") (param i32 i32) (local v128)
  133. (set_local 2 (i8x16.splat (get_local 0)))
  134. (set_local 2 (i8x16.replace_lane 13 (get_local 2) (get_local 1)))
  135. (v128.store offset=0 align=4 (i32.const 0) (get_local 2))
  136. )
  137. (func (export "i8x16_replace14") (param i32 i32) (local v128)
  138. (set_local 2 (i8x16.splat (get_local 0)))
  139. (set_local 2 (i8x16.replace_lane 14 (get_local 2) (get_local 1)))
  140. (v128.store offset=0 align=4 (i32.const 0) (get_local 2))
  141. )
  142. (func (export "i8x16_replace15") (param i32 i32) (local v128)
  143. (set_local 2 (i8x16.splat (get_local 0)))
  144. (set_local 2 (i8x16.replace_lane 15 (get_local 2) (get_local 1)))
  145. (v128.store offset=0 align=4 (i32.const 0) (get_local 2))
  146. )
  147. (func (export "f32x4_replace0") (param f32 f32) (local v128)
  148. (set_local 2 (f32x4.splat (get_local 0)))
  149. (set_local 2 (f32x4.replace_lane 0 (get_local 2) (get_local 1)))
  150. (v128.store offset=0 align=4 (i32.const 0) (get_local 2))
  151. )
  152. (func (export "f32x4_replace1") (param f32 f32) (local v128)
  153. (set_local 2 (f32x4.splat (get_local 0)))
  154. (set_local 2 (f32x4.replace_lane 1 (get_local 2) (get_local 1)))
  155. (v128.store offset=0 align=4 (i32.const 0) (get_local 2))
  156. )
  157. (func (export "f32x4_replace2") (param f32 f32) (local v128)
  158. (set_local 2 (f32x4.splat (get_local 0)))
  159. (set_local 2 (f32x4.replace_lane 2 (get_local 2) (get_local 1)))
  160. (v128.store offset=0 align=4 (i32.const 0) (get_local 2))
  161. )
  162. (func (export "f32x4_replace3") (param f32 f32) (local v128)
  163. (set_local 2 (f32x4.splat (get_local 0)))
  164. (set_local 2 (f32x4.replace_lane 3 (get_local 2) (get_local 1)))
  165. (v128.store offset=0 align=4 (i32.const 0) (get_local 2))
  166. )
  167. (func (export "f64x2_replace0") (param f64 f64) (local v128)
  168. (set_local 2 (f64x2.splat (get_local 0)))
  169. (set_local 2 (f64x2.replace_lane 0 (get_local 2) (get_local 1)))
  170. (v128.store offset=0 align=4 (i32.const 0) (get_local 2))
  171. )
  172. (func (export "f64x2_replace1") (param f64 f64) (local v128)
  173. (set_local 2 (f64x2.splat (get_local 0)))
  174. (set_local 2 (f64x2.replace_lane 1 (get_local 2) (get_local 1)))
  175. (v128.store offset=0 align=4 (i32.const 0) (get_local 2))
  176. )
  177. )