12.07.2015 Views

RealView 编译工具编译器参考指南 - ARM Information Center

RealView 编译工具编译器参考指南 - ARM Information Center

RealView 编译工具编译器参考指南 - ARM Information Center

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

编 译 器 特 有 的 功 能另 请 参 阅• 第 4-83 页 的 __nop• 第 4-93 页 的 __sev• 第 4-101 页 的 __wfe• 第 4-102 页 的 __wfi• 《 汇 编 器 指 南 》 中 第 4-138 页 的 NOP、 SEV、 WFE、 WFI 和 YIELD。4.7.44 <strong>ARM</strong>v6 SIMD 内 在 函 数<strong>ARM</strong> 体 系 结 构 v6 指 令 集 体 系 结 构 在 <strong>ARM</strong>v6 中 添 加 了 60 多 条 SIMD 指 令 , 以便 通 过 软 件 有 效 地 实 现 高 性 能 的 媒 体 应 用 程 序 。<strong>ARM</strong> 编 译 器 支 持 映 射 到 <strong>ARM</strong>v6 SIMD 指 令 的 内 在 函 数 。 为 <strong>ARM</strong>v6 体 系 结 构 或处 理 器 编 译 代 码 时 , 可 以 使 用 这 些 内 在 函 数 。 以 下 列 表 给 出 了 这 些 内 在 函 数 的函 数 原 型 。 列 表 中 给 出 的 函 数 原 型 描 述 了 内 在 函 数 实 现 的 原 始 或 基 本 形 式 的<strong>ARM</strong>v6 指 令 。 要 获 取 某 个 内 在 函 数 实 现 的 基 本 指 令 名 称 , 请 删 除 内 在 函 数 名 称前 面 的 下 划 线 (__)。 例 如 , __qadd16 内 在 函 数 对 应 于 <strong>ARM</strong>v6 QADD16 指 令 。注 意可 以 确 保 针 对 <strong>ARM</strong> v6 体 系 结 构 或 处 理 器 将 每 个 <strong>ARM</strong>v6 SIMD 内 在 函 数 编 译 为单 个 内 联 机 器 指 令 。 但 是 , 编 译 器 检 测 到 需 要 执 行 此 操 作 的 场 合 时 , 可 能 会 使用 优 化 形 式 的 基 本 指 令 。<strong>ARM</strong>v6 SIMD 指 令 可 以 在 应 用 程 序 状 态 寄 存 器 (APSR) 中 设 置 GE[3:0] 位 。SIMD 指 令 可 以 更 新 这 些 标 记 以 指 示 SIMD 运 算 的 每 个 8/16 位 片 的 “ 大 于 或 等于 ” 状 态 。<strong>ARM</strong> 编 译 器 将 GE[3:0] 位 视 为 全 局 变 量 。 要 从 C 或 C++ 程 序 中 访 问 这 些 位 , 请执 行 以 下 任 一 操 作 :• 通 过 已 命 名 的 寄 存 器 变 量 访 问 APSR 的 第 16-19 位• 使 用 __sel 内 在 函 数 控 制 SEL 指 令 。unsigned int __qadd16(unsigned int, unsigned int)unsigned int __qadd8(unsigned int, unsigned int)unsigned int __qasx(unsigned int, unsigned int)unsigned int __qsax(unsigned int, unsigned int)unsigned int __qsub16(unsigned int, unsigned int)unsigned int __qsub8(unsigned int, unsigned int)unsigned int __sadd16(unsigned int, unsigned int)unsigned int __sadd8(unsigned int, unsigned int)unsigned int __sasx(unsigned int, unsigned int)unsigned int __sel(unsigned int, unsigned int)<strong>ARM</strong> DUI 0348BC Copyright © 2007-2009 <strong>ARM</strong> Limited. All rights reserved. 4-103ID090708Non-Confidential, Unrestricted Access

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!