Mercurial > hg > CbC > CbC_gcc
comparison gcc/config/arm/vec-common.md @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children | 1830386684a0 |
comparison
equal
deleted
inserted
replaced
111:04ced10e8804 | 131:84e7813d76e9 |
---|---|
1 ;; Machine Description for shared bits common to IWMMXT and Neon. | 1 ;; Machine Description for shared bits common to IWMMXT and Neon. |
2 ;; Copyright (C) 2006-2017 Free Software Foundation, Inc. | 2 ;; Copyright (C) 2006-2018 Free Software Foundation, Inc. |
3 ;; Written by CodeSourcery. | 3 ;; Written by CodeSourcery. |
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 |
107 "TARGET_NEON | 107 "TARGET_NEON |
108 || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (<MODE>mode))" | 108 || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (<MODE>mode))" |
109 { | 109 { |
110 }) | 110 }) |
111 | 111 |
112 (define_expand "vec_perm_const<mode>" | |
113 [(match_operand:VALL 0 "s_register_operand" "") | |
114 (match_operand:VALL 1 "s_register_operand" "") | |
115 (match_operand:VALL 2 "s_register_operand" "") | |
116 (match_operand:<V_cmp_result> 3 "" "")] | |
117 "TARGET_NEON | |
118 || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (<MODE>mode))" | |
119 { | |
120 if (arm_expand_vec_perm_const (operands[0], operands[1], | |
121 operands[2], operands[3])) | |
122 DONE; | |
123 else | |
124 FAIL; | |
125 }) | |
126 | |
127 (define_expand "vec_perm_const<mode>" | |
128 [(match_operand:VH 0 "s_register_operand") | |
129 (match_operand:VH 1 "s_register_operand") | |
130 (match_operand:VH 2 "s_register_operand") | |
131 (match_operand:<V_cmp_result> 3)] | |
132 "TARGET_NEON" | |
133 { | |
134 if (arm_expand_vec_perm_const (operands[0], operands[1], | |
135 operands[2], operands[3])) | |
136 DONE; | |
137 else | |
138 FAIL; | |
139 }) | |
140 | |
141 (define_expand "vec_perm<mode>" | 112 (define_expand "vec_perm<mode>" |
142 [(match_operand:VE 0 "s_register_operand" "") | 113 [(match_operand:VE 0 "s_register_operand" "") |
143 (match_operand:VE 1 "s_register_operand" "") | 114 (match_operand:VE 1 "s_register_operand" "") |
144 (match_operand:VE 2 "s_register_operand" "") | 115 (match_operand:VE 2 "s_register_operand" "") |
145 (match_operand:VE 3 "s_register_operand" "")] | 116 (match_operand:VE 3 "s_register_operand" "")] |