codegen: improve constant loading; don't load constants from the code
[ajla.git] / asm-ppc.inc
blob4551537b4c87d2538e4c89d2f6e9506c9b64431d
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            p2
20 #define static_test_p2          _ARCH_PWR4
21 #define dynamic_test            trap_insn("fc00002c") /* fsqrt */
22 #include "asm-1.inc"
24 #define feature_name            ppc
25 #define static_test_ppc         _ARCH_PWR4
26 #define dynamic_test            trap_insn("380000017c0003d6") /* divw */
27 #include "asm-1.inc"
29 #define feature_name            v203
30 #define static_test_v203        0
31 #define dynamic_test            trap_insn("7c00001e")   /* isellt */
32 #include "asm-1.inc"
34 #define feature_name            v206
35 #define static_test_v206        _ARCH_PWR7
36 #define dynamic_test            trap_insn("7c0002f4")   /* popcntw */
37 #include "asm-1.inc"
39 #define feature_name            v30
40 #define static_test_v30         _ARCH_PWR9
41 #define dynamic_test            trap_insn("7c000434")   /* cnttzw */
42 #include "asm-1.inc"