From 63786e449651a748c860e9df0b160deaefa07ec5 Mon Sep 17 00:00:00 2001 From: Kimplul Date: Sat, 5 Apr 2025 18:23:54 +0300 Subject: use newly provided minr_f/maxr_f --- src/main.c | 25 ++----------------------- 1 file changed, 2 insertions(+), 23 deletions(-) (limited to 'src/main.c') diff --git a/src/main.c b/src/main.c index fd586c9..8ab624c 100644 --- a/src/main.c +++ b/src/main.c @@ -184,18 +184,7 @@ static size_t compile_line(struct ejit_func *kernel, const char *line) size_t arg0 = 0, arg1 = 0; line = parse_var(line, &arg0); line = parse_var(line, &arg1); - - /* no built-in fmax/fmin so use a plain old branch */ - struct ejit_reloc r = ejit_bger_f(kernel, EJIT_FPR(arg0), EJIT_FPR(arg1)); - /* arg0 < arg1 */ - ejit_movr_f(kernel, EJIT_FPR(out), EJIT_FPR(arg1)); - struct ejit_reloc j = ejit_jmp(kernel); - - /* arg0 >= arg1 */ - ejit_patch(kernel, r, ejit_label(kernel)); - ejit_movr_f(kernel, EJIT_FPR(out), EJIT_FPR(arg0)); - - ejit_patch(kernel, j, ejit_label(kernel)); + ejit_maxr_f(kernel, EJIT_FPR(out), EJIT_FPR(arg0), EJIT_FPR(arg1)); break; } @@ -203,17 +192,7 @@ static size_t compile_line(struct ejit_func *kernel, const char *line) size_t arg0 = 0, arg1 = 0; line = parse_var(line, &arg0); line = parse_var(line, &arg1); - - struct ejit_reloc r = ejit_bger_f(kernel, EJIT_FPR(arg0), EJIT_FPR(arg1)); - /* arg0 < arg1 */ - ejit_movr_f(kernel, EJIT_FPR(out), EJIT_FPR(arg0)); - struct ejit_reloc j = ejit_jmp(kernel); - - /* arg0 >= arg1 */ - ejit_patch(kernel, r, ejit_label(kernel)); - ejit_movr_f(kernel, EJIT_FPR(out), EJIT_FPR(arg1)); - - ejit_patch(kernel, j, ejit_label(kernel)); + ejit_minr_f(kernel, EJIT_FPR(out), EJIT_FPR(arg0), EJIT_FPR(arg1)); break; } -- cgit v1.2.3