Lines Matching refs:OP
289 #define __bpf_cmp(LHS, OP, PRED, RHS, DEFAULT) \ argument
293 asm volatile goto("if %[lhs] " OP " %[rhs] goto %l[l_true]" \
305 #define _bpf_cmp(LHS, OP, RHS, UNLIKELY) \ argument
311 (void)(__lhs OP __rhs); \
312 if (__cmp_cannot_be_signed(OP) || !__is_signed_type(typeof(__lhs))) { \
317 ret = __bpf_cmp(__lhs, #OP, "r", __rhs, UNLIKELY); \
319 ret = __bpf_cmp(__lhs, #OP, "ri", __rhs, UNLIKELY); \
322 ret = __bpf_cmp(__lhs, "s"#OP, "r", __rhs, UNLIKELY); \
324 ret = __bpf_cmp(__lhs, "s"#OP, "ri", __rhs, UNLIKELY); \
330 #define bpf_cmp_unlikely(LHS, OP, RHS) _bpf_cmp(LHS, OP, RHS, true) argument
334 #define bpf_cmp_likely(LHS, OP, RHS) \ argument
337 if (__builtin_strcmp(#OP, "==") == 0) \
339 else if (__builtin_strcmp(#OP, "!=") == 0) \
341 else if (__builtin_strcmp(#OP, "<=") == 0) \
343 else if (__builtin_strcmp(#OP, "<") == 0) \
345 else if (__builtin_strcmp(#OP, ">") == 0) \
347 else if (__builtin_strcmp(#OP, ">=") == 0) \
350 asm volatile("r0 " #OP " invalid compare"); \