extensions.cc \
rocc.cc \
regnames.cc \
+ devices.cc \
$(riscv_gen_srcs) \
riscv_test_srcs =
bltu \
bne \
c_add \
- c_addi16sp \
c_addi4spn \
c_addi \
- c_addiw \
c_addw \
+ c_and \
+ c_andi \
c_beqz \
c_bnez \
c_ebreak \
c_lw \
c_lwsp \
c_mv \
+ c_or \
c_slli \
+ c_srai \
+ c_srli \
+ c_sub \
+ c_subw \
+ c_xor \
csrrc \
csrrci \
csrrs \
divu \
divuw \
divw \
+ ebreak \
+ ecall \
fadd_d \
fadd_s \
fclass_d \
fsub_d \
fsub_s \
fsw \
- hrts \
jal \
jalr \
lb \
lui \
lw \
lwu \
- mrth \
- mrts \
+ mret \
mul \
mulh \
mulhsu \
remuw \
remw \
sb \
- sbreak \
- scall \
sc_d \
sc_w \
sd \
mv $@.tmp $@
insn_list.h: $(src_dir)/riscv/riscv.mk.in
- echo $(riscv_insn_list) | sed 's/\s\+\|$$/\n/g' | sed '/^$$/d' | sed 's/\./_/g' | sed 's/\(.*\)/DEFINE_INSN(\1)/' > $@.tmp
+ for insn in $(foreach insn,$(riscv_insn_list),$(subst .,_,$(insn))) ; do \
+ printf 'DEFINE_INSN(%s)\n' "$${insn}" ; \
+ done > $@.tmp
mv $@.tmp $@
$(riscv_gen_srcs): %.cc: insns/%.h insn_template.cc