From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1729) id 939103858C53; Wed, 2 Nov 2022 00:37:34 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 939103858C53 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1667349460; bh=yjuFphNIkDLvUNQ5gMd4Hp/Fc39zob51ZRyRyvoWiyA=; h=From:To:Subject:Date:From; b=W0oezbN2D8/vH/JStGWye5tY7rWHtWOcHtaue8ULj4T+8heeSeS1mg9vUPtY55ExH JTLgOerenUqtMIG9CY3RRuM9o+DzKGP7e5tRbyyy1uNn6FUvaYBOjYcosSrkb0yToc 78M9ojet70RsxsFQVaE7NKEh5wYWEUcO+smPtd44= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Kwok Yeung To: gcc-cvs@gcc.gnu.org Subject: [gcc/devel/omp/gcc-12] amdgcn: Add builtins for vector floor/floorf X-Act-Checkin: gcc X-Git-Author: Kwok Cheung Yeung X-Git-Refname: refs/heads/devel/omp/gcc-12 X-Git-Oldrev: a3c04a367a90597e729874ccadb9ce004d76f515 X-Git-Newrev: d3a2a1cc424cc06aaa83b25bf8943ac229e9948f Message-Id: <20221102003740.939103858C53@sourceware.org> Date: Wed, 2 Nov 2022 00:37:34 +0000 (GMT) List-Id: https://gcc.gnu.org/g:d3a2a1cc424cc06aaa83b25bf8943ac229e9948f commit d3a2a1cc424cc06aaa83b25bf8943ac229e9948f Author: Kwok Cheung Yeung Date: Tue Nov 1 22:56:54 2022 +0000 amdgcn: Add builtins for vector floor/floorf 2022-11-01 Kwok Cheung Yeung gcc/ * config/gcn/gcn-builtins.def (FLOORVF): New builtin. (FLOORV): New builtin. * config/gcn/gcn.cc (gcn_expand_builtin_1): Expand GCN_BUILTIN_FLOORVF and GCN_BUILTIN_FLOORV. Diff: --- gcc/ChangeLog.omp | 7 +++++++ gcc/config/gcn/gcn-builtins.def | 10 ++++++++++ gcc/config/gcn/gcn.cc | 22 ++++++++++++++++++++++ 3 files changed, 39 insertions(+) diff --git a/gcc/ChangeLog.omp b/gcc/ChangeLog.omp index 467a2497fb2..e9ee9d732df 100644 --- a/gcc/ChangeLog.omp +++ b/gcc/ChangeLog.omp @@ -1,3 +1,10 @@ +2022-11-01 Kwok Cheung Yeung + + * config/gcn/gcn-builtins.def (FLOORVF): New builtin. + (FLOORV): New builtin. + * config/gcn/gcn.cc (gcn_expand_builtin_1): Expand GCN_BUILTIN_FLOORVF + and GCN_BUILTIN_FLOORV. + 2022-11-01 Kwok Cheung Yeung * config/gcn/gcn.cc (gcn_expand_builtin_1): Fix expansion of diff --git a/gcc/config/gcn/gcn-builtins.def b/gcc/config/gcn/gcn-builtins.def index 21e3f0131e4..c50777bd3b0 100644 --- a/gcc/config/gcn/gcn-builtins.def +++ b/gcc/config/gcn/gcn-builtins.def @@ -69,6 +69,16 @@ DEF_BUILTIN (FABSV, 3 /*CODE_FOR_fabsv */, _A2 (GCN_BTI_V64DF, GCN_BTI_V64DF), gcn_expand_builtin_1) +DEF_BUILTIN (FLOORVF, 3 /*CODE_FOR_floorvf */, + "floorvf", B_INSN, + _A2 (GCN_BTI_V64SF, GCN_BTI_V64SF), + gcn_expand_builtin_1) + +DEF_BUILTIN (FLOORV, 3 /*CODE_FOR_floorv */, + "floorv", B_INSN, + _A2 (GCN_BTI_V64DF, GCN_BTI_V64DF), + gcn_expand_builtin_1) + DEF_BUILTIN (LDEXPVF, 3 /*CODE_FOR_ldexpvf */, "ldexpvf", B_INSN, _A3 (GCN_BTI_V64SF, GCN_BTI_V64SF, GCN_BTI_V64SI), diff --git a/gcc/config/gcn/gcn.cc b/gcc/config/gcn/gcn.cc index 08dd3d618c6..bfc91e04f81 100644 --- a/gcc/config/gcn/gcn.cc +++ b/gcc/config/gcn/gcn.cc @@ -4372,6 +4372,28 @@ gcn_expand_builtin_1 (tree exp, rtx target, rtx /*subtarget */ , emit_insn (gen_absv64df2 (target, arg)); return target; } + case GCN_BUILTIN_FLOORVF: + { + if (ignore) + return target; + rtx arg = force_reg (V64SFmode, + expand_expr (CALL_EXPR_ARG (exp, 0), NULL_RTX, + V64SFmode, + EXPAND_NORMAL)); + emit_insn (gen_floorv64sf2 (target, arg)); + return target; + } + case GCN_BUILTIN_FLOORV: + { + if (ignore) + return target; + rtx arg = force_reg (V64DFmode, + expand_expr (CALL_EXPR_ARG (exp, 0), NULL_RTX, + V64DFmode, + EXPAND_NORMAL)); + emit_insn (gen_floorv64df2 (target, arg)); + return target; + } case GCN_BUILTIN_LDEXPVF: { if (ignore)