diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index acb5e044..16b9f47f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -26,7 +26,7 @@ jobs: nix log .#hobbesPackages/clang-${{ matrix.clang }}-ASanAndUBSan/hobbes &> ${{ matrix.os }}-clang-${{ matrix.clang }}-ASanAndUBSan-hobbes.log - name: upload log ${{ matrix.os }}-clang-${{ matrix.clang }}-ASanAndUBSan-hobbes.log if: ${{ always() }} - uses: actions/upload-artifact@v1 + uses: actions/upload-artifact@v3 with: name: output-log-file path: ${{ matrix.os }}-clang-${{ matrix.clang }}-ASanAndUBSan-hobbes.log @@ -55,7 +55,7 @@ jobs: nix log .#hobbesPackages/clang-${{ matrix.clang }}/hobbes &> ${{ matrix.os }}-clang-${{ matrix.clang }}-hobbes.log - name: upload log ${{ matrix.os }}-clang-${{ matrix.clang }}-hobbes.log if: ${{ always() }} - uses: actions/upload-artifact@v1 + uses: actions/upload-artifact@v3 with: name: output-log-file path: ${{ matrix.os }}-clang-${{ matrix.clang }}-hobbes.log @@ -85,8 +85,7 @@ jobs: nix log .#hobbesPackages/gcc-${{ matrix.gcc }}/llvm-${{ matrix.llvm }}/hobbes &> ${{ matrix.os }}-gcc-${{ matrix.gcc }}-llvm-${{ matrix.llvm }}-hobbes.log - name: upload log ${{ matrix.os }}-gcc-${{ matrix.gcc }}-llvm-${{ matrix.llvm }}-hobbes.log if: ${{ always() }} - uses: actions/upload-artifact@v1 + uses: actions/upload-artifact@v3 with: name: output-log-file - path: ${{ matrix.os }}-gcc-${{ matrix.gcc }}-llvm-${{ matrix.llvm }}-hobbes.log - + path: ${{ matrix.os }}-gcc-${{ matrix.gcc }}-llvm-${{ matrix.llvm }}-hobbes.log \ No newline at end of file diff --git a/lib/hobbes/eval/func.C b/lib/hobbes/eval/func.C index 345ef03b..6e1fdfa8 100644 --- a/lib/hobbes/eval/func.C +++ b/lib/hobbes/eval/func.C @@ -190,6 +190,13 @@ BOP(i16mul, CreateMul, int128_t, int128_t, int128_t); BOP(i16div, CreateSDiv, int128_t, int128_t, int128_t); BOP(i16rem, CreateSRem, int128_t, int128_t, int128_t); +BOP(i16shl, CreateShl, int128_t, int128_t, int128_t); +BOP(i16lshr, CreateLShr, int128_t, int128_t, int128_t); +BOP(i16ashr, CreateAShr, int128_t, int128_t, int128_t); +BOP(i16and, CreateAnd, int128_t, int128_t, int128_t); +BOP(i16or, CreateOr, int128_t, int128_t, int128_t); +BOP(i16xor, CreateXor, int128_t, int128_t, int128_t); + BOP(i16eq, CreateICmpEQ, int128_t, int128_t, bool); BOP(i16neq, CreateICmpNE, int128_t, int128_t, bool); BOP(i16lt, CreateICmpSLT, int128_t, int128_t, bool); @@ -1105,6 +1112,8 @@ void initDefOperators(cc* c) { DEC(iadd); DEC(isub); DEC(imul); DEC(idiv); DEC(irem); DEC(ladd); DEC(lsub); DEC(lmul); DEC(ldiv); DEC(lrem); DEC(i16add); DEC(i16sub); DEC(i16mul); DEC(i16div); DEC(i16rem); + DEC(i16shl); DEC(i16lshr); DEC(i16ashr); DEC(i16and); DEC(i16or);DEC(i16xor); + DEC(fadd); DEC(fsub); DEC(fmul); DEC(fdiv); DEC(dadd); DEC(dsub); DEC(dmul); DEC(ddiv);