Skip to content

Commit bcd80a9

Browse files
dcodeIOtlively
authored andcommitted
Fix bitselect operation in C/JS APIs (#2336)
In #2328 the SIMDBitselect API has been replaced with SIMDTernary that now has Bitselect as one of multiple operations, which is currently not exposed, unlike the new QFMA/QFMS operations which are exposed. This PR adds it.
1 parent 241aa71 commit bcd80a9

File tree

4 files changed

+7
-3
lines changed

4 files changed

+7
-3
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ CMakeFiles
2828
/*.VC.opendb
2929
/Win32/
3030

31+
# files commonly related to building out-of-tree
32+
/build/
33+
3134
# macOS
3235
.DS_Store
3336

build-js.sh

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -476,6 +476,7 @@ export_function "_BinaryenNotVec128"
476476
export_function "_BinaryenAndVec128"
477477
export_function "_BinaryenOrVec128"
478478
export_function "_BinaryenXorVec128"
479+
export_function "_BinaryenBitselectVec128"
479480
export_function "_BinaryenNegVecI8x16"
480481
export_function "_BinaryenAnyTrueVecI8x16"
481482
export_function "_BinaryenAllTrueVecI8x16"
@@ -524,8 +525,6 @@ export_function "_BinaryenNegVecF32x4"
524525
export_function "_BinaryenSqrtVecF32x4"
525526
export_function "_BinaryenQFMAVecF32x4"
526527
export_function "_BinaryenQFMSVecF32x4"
527-
export_function "_BinaryenQFMAVecF32x4"
528-
export_function "_BinaryenQFMSVecF32x4"
529528
export_function "_BinaryenAddVecF32x4"
530529
export_function "_BinaryenSubVecF32x4"
531530
export_function "_BinaryenMulVecF32x4"

src/binaryen-c.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -440,6 +440,7 @@ BinaryenOp BinaryenNotVec128(void);
440440
BinaryenOp BinaryenAndVec128(void);
441441
BinaryenOp BinaryenOrVec128(void);
442442
BinaryenOp BinaryenXorVec128(void);
443+
BinaryenOp BinaryenBitselectVec128(void);
443444
BinaryenOp BinaryenNegVecI8x16(void);
444445
BinaryenOp BinaryenAnyTrueVecI8x16(void);
445446
BinaryenOp BinaryenAllTrueVecI8x16(void);

src/js/binaryen.js-post.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -320,6 +320,7 @@ Module['NotVec128'] = Module['_BinaryenNotVec128']();
320320
Module['AndVec128'] = Module['_BinaryenAndVec128']();
321321
Module['OrVec128'] = Module['_BinaryenOrVec128']();
322322
Module['XorVec128'] = Module['_BinaryenXorVec128']();
323+
Module['BitselectVec128'] = Module['_BinaryenBitselectVec128']();
323324
Module['NegVecI8x16'] = Module['_BinaryenNegVecI8x16']();
324325
Module['AnyTrueVecI8x16'] = Module['_BinaryenAnyTrueVecI8x16']();
325326
Module['AllTrueVecI8x16'] = Module['_BinaryenAllTrueVecI8x16']();
@@ -1327,7 +1328,7 @@ function wrapModule(module, self) {
13271328
return Module['_BinaryenUnary'](module, Module['XorVec128'], value);
13281329
},
13291330
'bitselect': function(left, right, cond) {
1330-
return Module['_BinaryenSIMDTernary'](module, Module['Bitselect'], left, right, cond);
1331+
return Module['_BinaryenSIMDTernary'](module, Module['BitselectVec128'], left, right, cond);
13311332
},
13321333
'pop': function() {
13331334
return Module['_BinaryenPop'](module, Module['v128']);

0 commit comments

Comments
 (0)