codegen: use the and instruction when doing zero-extend
[ajla.git] / asm-alph.inc
blob933dbaf786cd98ae036e713351e2ec541ded36e4
1 /*
2  * Copyright (C) 2024 Mikulas Patocka
3  *
4  * This file is part of Ajla.
5  *
6  * Ajla is free software: you can redistribute it and/or modify it under the
7  * terms of the GNU General Public License as published by the Free Software
8  * Foundation, either version 3 of the License, or (at your option) any later
9  * version.
10  *
11  * Ajla is distributed in the hope that it will be useful, but WITHOUT ANY
12  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
13  * A PARTICULAR PURPOSE. See the GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License along with
16  * Ajla. If not, see <https://www.gnu.org/licenses/>.
17  */
19 #define feature_name            bwx
20 #define static_test_bwx         (__alpha_bwx__)
21 #define dynamic_test            (amask & (1U << 0))
22 #include "asm-1.inc"
24 #define feature_name            fix
25 #define static_test_fix         (__alpha_fix__)
26 #define dynamic_test            (amask & (1U << 1))
27 #include "asm-1.inc"
29 #define feature_name            cix
30 #define static_test_cix         (__alpha_cix__)
31 #define dynamic_test            (amask & (1U << 2))
32 #include "asm-1.inc"
34 #define feature_name            precise_trap
35 #define static_test_precise_trap 0
36 #define dynamic_test            (amask & (1U << 9))
37 #include "asm-1.inc"