DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: xiao2024
今日帖子: 17
在线用户: 4
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 dbyoung (dbyoung) ★☆☆☆☆ -
普通会员
2021/1/3 0:52:28
标题:
RS10.4 是不是不支持 SSE3/SSE4/AVX256/AVX512/FMA 指令? 浏览:2014
加入我的收藏
楼主: 查看了帮助,查了官网都没有找到相关信息。

Delphi 好像也就支持到 SSE2 指令。SSE3 指令就不认了。
C++Builder 中,使用 clang5,好像也就支持到 SSE2。

望大侠指点一二
----------------------------------------------
武汉天气不好
作者:
男 pp0123 (pp0123) ★☆☆☆☆ -
普通会员
2021/1/3 3:28:33
1楼: 不是不支援,而是没有东西要用上.
JCL 套件有可以判断你的机械支援何种指令,
但应用方面就要由你去编写或找第三方元件.
----------------------------------------------
-
作者:
男 keymark (嬲) ▲▲▲△△ -
普通会员
2021/1/3 10:02:43
2楼: 按此在新窗口浏览图片
https://github.com/lgxZJ/Miscellaneous/tree/master/SIMD
intrin.h  All Architectures  8.0  2005
mmintrin.h  MMX intrinsics  6.0  6.0 SP5+PP5
xmmintrin.h  Streaming SIMD Extensions intrinsics  6.0  6.0 SP5+PP5
emmintrin.h  Willamette New Instruction intrinsics (SSE2)  6.0  6.0 SP5+PP5
pmmintrin.h  SSE3 intrinsics  9.0  2008
tmmintrin.h  SSSE3 intrinsics  9.0  2008
smmintrin.h  SSE4.1 intrinsics  9.0  2008
nmmintrin.h  SSE4.2 intrinsics.  9.0  2008
wmmintrin.h  AES and PCLMULQDQ intrinsics.  10.0  2010
immintrin.h  Intel-specific intrinsics(AVX)  10.0  2010 SP1
ammintrin.h  AMD-specific intrinsics (FMA4, LWP, XOP)  10.0  2010 SP1
mm3dnow.h  AMD 3DNow! intrinsics  6.0  
6.0 SP5+PP5



#include <mmintrin.h> //MMX
#include <xmmintrin.h> //SSE(include mmintrin.h)
#include <emmintrin.h> //SSE2(include xmmintrin.h)
#include <pmmintrin.h> //SSE3(include emmintrin.h)
#include <tmmintrin.h>//SSSE3(include pmmintrin.h)
#include <smmintrin.h>//SSE4.1(include tmmintrin.h)
#include <nmmintrin.h>//SSE4.2(include smmintrin.h)
#include <wmmintrin.h>//AES(include nmmintrin.h)
#include <immintrin.h>//AVX(include wmmintrin.h)
#include <intrin.h>//(include immintrin.h)

mmintrin.h  MMX  __m64  8字节对齐
xmmintrin.h  SSE  __m128  16字节对齐
emmintrin.h  SSE2  __m128i   __m128d  16字节对齐
immintrin.h  AVX  __m256  __m256i  __m256d  32字节对齐  

要是有人翻译下就舒服了。
----------------------------------------------
[alias]  co = clone --recurse-submodules  up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
男 wr960204 (武稀松) ★☆☆☆☆ -
盒子活跃会员
2021/1/3 12:44:58
3楼: 支持这两个字就要看定义了
delphi的basm支持sse2的指令关键字
但Delphi的编译器本身不只是SIMD的各种指令,他不会自动把我们常写的PASCAL代码编译成SIMD指令,想用只能自己写BASM的内嵌汇编。
实际上如果你用bd这个话理论上可以支持任意指令,包括未来的指令。早期的Delphi7用bd指定来支持SSE5和AVX指令都没问题。当然如果能在BASM内置关键字更方便,不用再去背指令的机器码数值
----------------------------------------------
武稀松http://www.raysoftware.cn
作者:
男 keymark (嬲) ▲▲▲△△ -
普通会员
2021/1/3 15:07:52
4楼: http://codeverge.com/embarcadero.delphi.basm/ssse3-sse4-instructions-delphi-basm-c/1094766
标记下 bd 按此在新窗口浏览图片
----------------------------------------------
[alias]  co = clone --recurse-submodules  up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
男 dbyoung (dbyoung) ★☆☆☆☆ -
普通会员
2021/1/3 16:35:48
5楼: 用 BD 太麻烦了。

关键是 BC 也不支持。
BC 现在用的是 CLANG,应该是支持的。应该是 5.0 版本太低的缘故吧。

要么用 VC ,要么用 FPC。看来只能是这样了。
----------------------------------------------
武汉天气不好
作者:
男 scarlette (Scarlette) ★☆☆☆☆ -
普通会员
2021/1/3 19:26:48
6楼: 用NASM,编译成obj然后link进来就可以了,x86/x64所有指令扩展都支持。不用纠结编译器内置的汇编器,有专用的工具总比半吊子的东西好。
----------------------------------------------
-
作者:
男 dbyoung (dbyoung) ★☆☆☆☆ -
普通会员
2021/1/4 8:00:21
7楼: 感谢楼上。

http://rvelthuis.de/articles/articles-nasm.html

Embarcadero 好像也打算用 NASM 替换 TASM。
----------------------------------------------
武汉天气不好
作者:
男 earthsbest (全能中间件) ▲▲▲▲△ -
普通会员
2021/1/4 9:30:52
8楼: System.TestSSE
----------------------------------------------
Delphi4Linux Delphi三层/FireDAC 技术群:734515869 http://www.cnblogs.com/rtcmw
作者:
男 dbyoung (dbyoung) ★☆☆☆☆ -
普通会员
2021/1/4 10:58:30
9楼: Windows 平台下的 Delphi 可以链接(link)的文件格式:

  x86:
    OMF / 支持OMF格式的汇编 Tasm、Nasm、Yasm、Solasm (x86)
    COFF(必须是 xe2 版本以上)

  x64:
    dcc64:
        OMF / 支持OMF格式的汇编 Tasm、Nasm、Yasm、Solasm (x64)
        COFF(必须是 xe2 版本以上)

    bcc64:
        OMF / 支持OMF格式的汇编 Tasm、Nasm、Yasm、Solasm (x64)
        ELF64(必须是 xe10 版本以上)

  FreePascal 虽然语法上和 Delphi 都是 Pascal,但输出的格式是 COFF 格式。


不知道总结的对不对。不对之处,还望高手指点。
----------------------------------------------
武汉天气不好
作者:
男 scarlette (Scarlette) ★☆☆☆☆ -
普通会员
2021/1/4 11:48:08
10楼: Windows平台BCC64也一样用MS COFF64
----------------------------------------------
-
作者:
男 dbyoung (dbyoung) ★☆☆☆☆ -
普通会员
2021/1/4 12:16:56
11楼: 谢谢 Scarlette 大侠的指正。
----------------------------------------------
武汉天气不好
作者:
男 keymark (嬲) ▲▲▲△△ -
普通会员
2021/1/4 13:16:29
12楼: linux 下 测试过ubuntu  gcc编译的.0 用delphi 能链 。功能正常(变量可能没对上)

安卓(下载地址)有编译的没去测试
----------------------------------------------
[alias]  co = clone --recurse-submodules  up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2021/1/4 16:15:15
13楼: Android 底下用 Delphi 也可以去链接 C 开发的库。
----------------------------------------------
-
作者:
男 keymark (嬲) ▲▲▲△△ -
普通会员
2021/1/4 16:47:41
14楼: 遇到过一个hashXXX(忘记了论坛里面有发过).C gcc编译的o给delphi调用会av gcc调用没事。。
用bcc 和 cl 都没事  就很神奇。。。
----------------------------------------------
[alias]  co = clone --recurse-submodules  up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
男 keymark (嬲) ▲▲▲△△ -
普通会员
2021/1/4 22:57:22
15楼: 看到一个C# 用法
汇编代码被表示成带注释的字节数组:
按此在新窗口浏览图片



因特尔手册 留着备查
https://www.felixcloutier.com/x86/index.html 在线版。
----------------------------------------------
[alias]  co = clone --recurse-submodules  up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
男 wr960204 (武稀松) ★☆☆☆☆ -
盒子活跃会员
2021/1/5 11:07:55
16楼: 你说的C#指令做成字节数组就是ShellCode啊,分配一段可执行内存,把数组拷贝进去,准换成函数指针调用即可。
这段所谓的数组也是汇编或者其他Native高级语言撸出来的
----------------------------------------------
武稀松http://www.raysoftware.cn
作者:
男 dbyoung (dbyoung) ★☆☆☆☆ -
普通会员
2021/1/5 22:10:19
17楼: https://github.com/dbyoung720/ImageGray

RGB2Gray Delphi 版

MMX/SSE/SSE2/SSE4/AVX/AVX2/AVX512 优化

支持 X86/X64 平台
----------------------------------------------
武汉天气不好
作者:
男 dbyoung (dbyoung) ★☆☆☆☆ -
普通会员
2021/1/6 7:05:37
18楼: @Keymark:
  Intel 指令看这里:
  https://software.intel.com/sites/landingpage/IntrinsicsGuide/#

  不知道有谁能把这个网页,整成PDF或CHM,保存到本地。
----------------------------------------------
武汉天气不好
作者:
男 keymark (嬲) ▲▲▲△△ -
普通会员
2021/1/6 21:50:36
19楼: https://software.intel.com/sites/landingpage/IntrinsicsGuide/files/data-3.5.4.xml
----------------------------------------------
[alias]  co = clone --recurse-submodules  up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
男 keymark (嬲) ▲▲▲△△ -
普通会员
2021/1/6 21:58:37
20楼: 本地http没问题 浏览器直接打开没测试(测试完毕 xml 加载不上)
有人能把xml 插js 或者html 么。。。。。我不会,,
此帖子包含附件:keymark_202116215837.rar 大小:462.0K
----------------------------------------------
[alias]  co = clone --recurse-submodules  up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
男 dbyoung (dbyoung) ★☆☆☆☆ -
普通会员
2021/1/14 10:08:48
21楼: Intel 指令集 CHM 版本:
此帖子包含附件:dbyoung_202111410844.chm 大小:579.6K
----------------------------------------------
武汉天气不好
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行101.5625毫秒 RSS