Mercurial > hg > CbC > CbC_gcc
comparison gcc/config/nds32/nds32-intrinsic.c @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | 84e7813d76e9 |
children |
comparison
equal
deleted
inserted
replaced
131:84e7813d76e9 | 145:1830386684a0 |
---|---|
1 /* Intrinsic functions of Andes NDS32 cpu for GNU compiler | 1 /* Intrinsic functions of Andes NDS32 cpu for GNU compiler |
2 Copyright (C) 2012-2018 Free Software Foundation, Inc. | 2 Copyright (C) 2012-2020 Free Software Foundation, Inc. |
3 Contributed by Andes Technology Corporation. | 3 Contributed by Andes Technology Corporation. |
4 | 4 |
5 This file is part of GCC. | 5 This file is part of GCC. |
6 | 6 |
7 GCC is free software; you can redistribute it and/or modify it | 7 GCC is free software; you can redistribute it and/or modify it |
991 rtx subtarget ATTRIBUTE_UNUSED, | 991 rtx subtarget ATTRIBUTE_UNUSED, |
992 enum machine_mode mode ATTRIBUTE_UNUSED, | 992 enum machine_mode mode ATTRIBUTE_UNUSED, |
993 int ignore ATTRIBUTE_UNUSED) | 993 int ignore ATTRIBUTE_UNUSED) |
994 { | 994 { |
995 tree fndecl = TREE_OPERAND (CALL_EXPR_FN (exp), 0); | 995 tree fndecl = TREE_OPERAND (CALL_EXPR_FN (exp), 0); |
996 unsigned int fcode = DECL_FUNCTION_CODE (fndecl); | 996 unsigned int fcode = DECL_MD_FUNCTION_CODE (fndecl); |
997 unsigned i; | 997 unsigned i; |
998 struct builtin_description *d; | 998 struct builtin_description *d; |
999 | 999 |
1000 if (!NDS32_EXT_DSP_P () | 1000 if (!NDS32_EXT_DSP_P () |
1001 && fcode > NDS32_BUILTIN_DSP_BEGIN | 1001 && fcode > NDS32_BUILTIN_DSP_BEGIN |
1002 && fcode < NDS32_BUILTIN_DSP_END) | 1002 && fcode < NDS32_BUILTIN_DSP_END) |
1003 error ("don't support DSP extension instructions"); | 1003 error ("don%'t support DSP extension instructions"); |
1004 | 1004 |
1005 switch (fcode) | 1005 switch (fcode) |
1006 { | 1006 { |
1007 /* FPU Register Transfer. */ | 1007 /* FPU Register Transfer. */ |
1008 case NDS32_BUILTIN_FMFCFG: | 1008 case NDS32_BUILTIN_FMFCFG: |
1057 case NDS32_BUILTIN_CLIPS: | 1057 case NDS32_BUILTIN_CLIPS: |
1058 case NDS32_BUILTIN_CLZ: | 1058 case NDS32_BUILTIN_CLZ: |
1059 case NDS32_BUILTIN_CLO: | 1059 case NDS32_BUILTIN_CLO: |
1060 if (!TARGET_EXT_PERF) | 1060 if (!TARGET_EXT_PERF) |
1061 { | 1061 { |
1062 error ("don't support performance extension instructions"); | 1062 error ("don%'t support performance extension instructions"); |
1063 return NULL_RTX; | 1063 return NULL_RTX; |
1064 } | 1064 } |
1065 break; | 1065 break; |
1066 | 1066 |
1067 /* Performance Extension 2 */ | 1067 /* Performance Extension 2 */ |
1069 case NDS32_BUILTIN_PBSADA: | 1069 case NDS32_BUILTIN_PBSADA: |
1070 case NDS32_BUILTIN_BSE: | 1070 case NDS32_BUILTIN_BSE: |
1071 case NDS32_BUILTIN_BSP: | 1071 case NDS32_BUILTIN_BSP: |
1072 if (!TARGET_EXT_PERF2) | 1072 if (!TARGET_EXT_PERF2) |
1073 { | 1073 { |
1074 error ("don't support performance extension " | 1074 error ("don%'t support performance extension " |
1075 "version 2 instructions"); | 1075 "version 2 instructions"); |
1076 return NULL_RTX; | 1076 return NULL_RTX; |
1077 } | 1077 } |
1078 break; | 1078 break; |
1079 | 1079 |
1081 case NDS32_BUILTIN_FFB: | 1081 case NDS32_BUILTIN_FFB: |
1082 case NDS32_BUILTIN_FFMISM: | 1082 case NDS32_BUILTIN_FFMISM: |
1083 case NDS32_BUILTIN_FLMISM: | 1083 case NDS32_BUILTIN_FLMISM: |
1084 if (!TARGET_EXT_STRING) | 1084 if (!TARGET_EXT_STRING) |
1085 { | 1085 { |
1086 error ("don't support string extension instructions"); | 1086 error ("don%'t support string extension instructions"); |
1087 return NULL_RTX; | 1087 return NULL_RTX; |
1088 } | 1088 } |
1089 break; | 1089 break; |
1090 | 1090 |
1091 default: | 1091 default: |