1 Star 0 Fork 0

HuWen/run_spec2006

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
c2asm.sh 2.08 KB
一键复制 编辑 原始数据 按行查看 历史
HuWen 提交于 2022-08-26 16:52 . init with run_spec2017
#!/bin/bash
# compile foo.c to foo.s
# c2asm.sh arm|riscv foo.c flags
arch=$1
src=$2
RISCINC=/usr/local/spec2017/riscvinclude
LINARO=$MAPLE_ROOT/tools/gcc-linaro-7.5.0
LINARO_INC="-I $LINARO/aarch64-linux-gnu/libc/usr/include"
SYSTEM_FLAGS="-isystem $MAPLE_ROOT/tools/clang+llvm-10.0.0-x86_64-linux-gnu-ubuntu-18.04/lib/clang/10.0.0/include --sysroot=$MAPLE_ROOT/tools/sysroot-glibc-linaro-2.25"
CLANGFE_FLAGS="-cc1 -emit-llvm -triple aarch64-linux-gnu -D__clang__ -D__BLOCKS__ -U __SIZEOF_INT128__ $ISYSTEM_FLAGS"
CLANGFE_FLAGS="$CLANGFE_FLAGS -fgnu89-inline"
CLANG_FLAGS="--target=aarch64-linux-elf -Wno-return-type -U__SIZEOF_INT128__"
if [ $arch = "arm" ]; then
src="${src%.*}.maplearm.${src##*.}"
cp -p $2 $src
else if [ $arch = "riscv" ]; then
src="${src%.*}.mapleriscv.${src##*.}"
cp -p $2 $src
else
echo "wrong arch passed for c2asm.sh $arch should be arm or riscv"
exit 1
fi
fi
shift
shift
FLAGS="$*"
root="${src%.*}"
SRCDIR=`echo $src | sed -e "s/^out/src/" | sed -e "s/\/[^/]*$//"`
FE_FLAG="--ascii"
SUF="mpl"
MPL2MPL_FLAG="--no-inline"
MPL2MPL_FLAG=""
echo $MAPLE_EXECUTE_BIN/clang2mpl $FE_FLAG $src -- $FLAGS $CLANG_FLAGS
$MAPLE_EXECUTE_BIN/clang2mpl $FE_FLAG $src -- $FLAGS $CLANG_FLAGS || exit 1
echo "---------------> $TARGET"
if [ "$TARGET" = "sgcc" ]; then
echo $MAPLE_EXECUTE_BIN/maple --run=me:mpl2mpl:mplcg --option=\"-O2 --quiet:-O2 $MPL2MPL_FLAG:-O2 --quiet --no-pie --verbose-asm --verbose-cg --patch-long-branch\" $root.$SUF
$MAPLE_EXECUTE_BIN/maple --run=me:mpl2mpl:mplcg --option="-O2 --quiet:-O2 $MPL2MPL_FLAG:-O2 --quiet --no-pie --verbose-asm --verbose-cg --patch-long-branch" $root.$SUF || exit 2
else
echo $MAPLE_EXECUTE_BIN/maple --run=me:mpl2mpl:mplcg --option=\"--O2 --quiet:--O2 $MPL2MPL_FLAG:--O2 --quiet --no-pie --verbose-asm --verbose-cg\" $root.$SUF
$MAPLE_EXECUTE_BIN/maple --run=me:mpl2mpl:mplcg --option="--O2 --quiet:--O2 $MPL2MPL_FLAG:--O2 --quiet --no-pie --verbose-asm --verbose-cg" $root.$SUF || exit 3
fi
# remove failed .s
if [ $? -ne 0 ]; then
echo "failed $MAPLE_PRODUCT_EXECUTABLE/mplcg" >&2
rm -f $root.s
fi
#rm -f $root.c
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Shell
1
https://gitee.com/hu-_-wen/run_spec2006.git
git@gitee.com:hu-_-wen/run_spec2006.git
hu-_-wen
run_spec2006
run_spec2006
master

搜索帮助