Skip to content

Commit 27bc2eb

Browse files
authored
Merge pull request #253 from proppy/xls-stdlib
hls/xls: add stdlib
2 parents 41e8a8e + 8705f79 commit 27bc2eb

File tree

3 files changed

+47
-12
lines changed

3 files changed

+47
-12
lines changed

hls/xls/build.sh

+27-12
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,33 @@
22

33
set -ex
44

5+
# build targets
56
chmod +x $SRC_DIR/bazelisk-linux-amd64
67
$SRC_DIR/bazelisk-linux-amd64 build -c opt \
7-
--extra_toolchains=@llvm_toolchain//:cc-toolchain-x86_64-linux \
8-
//xls/dslx:interpreter_main \
9-
//xls/dslx:ir_converter_main \
10-
//xls/tools:opt_main \
11-
//xls/tools:codegen_main \
12-
//xls/tools:proto_to_dslx_main
8+
--extra_toolchains=@llvm_toolchain//:cc-toolchain-x86_64-linux \
9+
//xls/dslx:interpreter_main \
10+
//xls/dslx:ir_converter_main \
11+
//xls/tools:opt_main \
12+
//xls/tools:codegen_main \
13+
//xls/tools:proto_to_dslx_main \
14+
//xls/tools:package_bazel_build
1315

14-
mkdir -p $PREFIX/bin/
15-
cp bazel-bin/xls/dslx/interpreter_main \
16-
bazel-bin/xls/dslx/ir_converter_main \
17-
bazel-bin/xls/tools/opt_main \
18-
bazel-bin/xls/tools/codegen_main \
19-
bazel-bin/xls/tools/proto_to_dslx_main $PREFIX/bin/
16+
# install targets
17+
mkdir -p $PREFIX/share/xls
18+
bazel-bin/xls/tools/package_bazel_build --output_dir $PREFIX/share/xls \
19+
--inc_target xls/dslx/interpreter_main \
20+
--inc_target xls/dslx/ir_converter_main \
21+
--inc_target xls/tools/opt_main \
22+
--inc_target xls/tools/codegen_main \
23+
--inc_target xls/tools/proto_to_dslx_main
24+
25+
# create tools symlinks
26+
mkdir -p $PREFIX/bin
27+
for f in xls/dslx/interpreter_main \
28+
xls/dslx/ir_converter_main \
29+
xls/tools/opt_main \
30+
xls/tools/codegen_main \
31+
xls/tools/proto_to_dslx_main
32+
do
33+
ln -sr $PREFIX/share/xls/$f $PREFIX/bin/$(basename $f)
34+
done

hls/xls/meta.yaml

+6
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ source:
1212
- use-llvm-toolchain.patch
1313
- url: https://github.com/bazelbuild/bazelisk/releases/download/v1.12.0/bazelisk-linux-amd64
1414
sha256: 6b0bcb2ea15bca16fffabe6fda75803440375354c085480fe361d2cbf32501db
15+
1516
build:
1617
# number: 202202082028
1718
number: {{ environ.get('DATE_NUM') }}
@@ -20,12 +21,17 @@ build:
2021
script_env:
2122
- CI
2223

24+
requirements:
25+
build:
26+
- python
27+
2328
test:
2429
commands:
2530
- interpreter_main --version
2631
- ir_converter_main --version
2732
- opt_main --version
2833
- codegen_main --version
34+
- interpreter_main $RECIPE_DIR/test_stdlib.x
2935

3036
about:
3137
home: https://google.github.io/xls/

hls/xls/test_stdlib.x

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import apfloat
2+
3+
type F8 = apfloat::APFloat<u32:4, u32:3>;
4+
5+
#[test]
6+
fn cast_test() {
7+
let fixed1 = s8:1;
8+
let float1 = apfloat::cast_from_fixed<u32:4, u32:3>(fixed1);
9+
let _= assert_eq(
10+
apfloat::cast_to_fixed<u32:8, u32:4, u32:3>(float1),
11+
fixed1
12+
);
13+
_
14+
}

0 commit comments

Comments
 (0)