27 lines
647 B
Plaintext
27 lines
647 B
Plaintext
#define T TEST
|
|
|
|
(* T
|
|
files = "mainimmed.c"
|
|
arguments = "-I ${test_source_directory} mainimmed.c"
|
|
* asmgen
|
|
*)
|
|
|
|
(* Regenerate with cpp -P immediates.cmmpp > immediates.cmm *)
|
|
|
|
#define F(N) \
|
|
(addraset r i (+ x N)) (assign i (+ i 1)) \
|
|
(addraset r i (- x N)) (assign i (+ i 1)) \
|
|
(addraset r i ( * x N)) (assign i (+ i 1)) \
|
|
(addraset r i (and x N)) (assign i (+ i 1)) \
|
|
(addraset r i (or x N)) (assign i (+ i 1)) \
|
|
(addraset r i (xor x N)) (assign i (+ i 1)) \
|
|
(addraset r i (< x N)) (assign i (+ i 1)) \
|
|
(checkbound i N)
|
|
|
|
(function "testimm" ()
|
|
(let x (load int "X")
|
|
(let r "R"
|
|
(letmut i int 0
|
|
#include "immediates.tbl"
|
|
))))
|