Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
This is sad to hear @xb12, but thank you for sharing. I have a family member that will be really sad to hear this as they were talking about upgrading Painter and can't afford to move past their MacPro5,1 for at least another couple years.
 
  • Like
Reactions: xb12
This is sad to hear @xb12, but thank you for sharing. I have a family member that will be really sad to hear this as they were talking about upgrading Painter and can't afford to move past their MacPro5,1 for at least another couple years.
You welcome. The program run on Mac Pro 5.1.painter 2022 on Monterey, Big Sur and Catalina. Some brushes are just not newly “more”!accelerated by the Avx2. Painter pretend some are GPU accelerated on top but there aren’t if Avx2 is missing. It look likes it requires Avx2 + GPU to work together. A lot of brushes are fast enough to work with on 5.1, some big new are to avoid. They are faster on my Late 2013 i7 Macbookpro, with Avx2 but with crappy GPU.

In summary Corel Painter 2022 classic brushes should run faster on Mac Pro 5.1 than an in older Corel painter version. They improved overall speed of the software.
You just don’t benefit without Avx2 of all the optimization.
 
Last edited:
This is sad to hear @xb12, but thank you for sharing. I have a family member that will be really sad to hear this as they were talking about upgrading Painter and can't afford to move past their MacPro5,1 for at least another couple years.
Since Corel painter 2019 (launched year 2018) , the Humble bundle company Sold at Fall the previous year Corel painter and gave found for charity. This is nice from Corel company to make it possible. For around 26 bucks you can have some brushes and full legit upgrade licence of the software, just not the last version. Upgrade from Corel website is usually around 220 $, 150 $ on sale once a year. Humble bundle have a newsletter if you want to watch it out. Corel painter number 2023 should launch at summer 2022, humble bundle Corel painter “2022” sale could be around Halloween.
 
Last edited:
@Syncretic - First and foremost, thank you for all the hard work you've done for the community. I wonder how many people have noticed your avatar spell out AVX? ;)

Rumor has it macOS Ventura now includes AVX2 instructions. If true, does that fit into the scope of this project or is that a whole new headache for you? Assmuing AVX2 becomes part of this project, will AVX & AVX2 be modular in the sense that a 2013 (6,1) Mac Pro, which has an Ivy Bridge CPU that supports AVX, still use hardware for AVX, but emulation for AVX2? I might be jumping the gun at this early stage, or perhaps giving you ideas... :)
 
  • Like
Reactions: macinfo
@JohnD from what I've read out and about it appears that @Syncretic's work is likely paramount and intrinsic to this effort.

I, like you, am not quite willing to give up my 2009/2010 cMP MacPro5,1 beauties quite yet, which really still remain quite useful and powerful...
 
I have a problem on my cMP 5.1 (Mojave) with an image editor that requires it AVX compatibility. I wanted to send a note to the topic starter about which program to use to test the AVX emulator. The software runs in full trial mode and only has a watermark on file output.

Unfortunately I have been warned by the moderator because I mentioned the name of the software. The topic starter should contact the moderator, he has my post as well as the link to it.

It was not meant as an advertisement, but as a hint to be able to test a current program for the AVX emulator.

I do not see the point for this forum if a program may not even be named without it being warned as advertising.
 
I do not see the point for this forum if a program may not even be named without it being warned as advertising.
It’s a slippery slope and not easy to handle. In the last months there were several bots/attacks of new registrations spamming the forum.
On the other hand there are legit users like you who register with a specific question/suggestion in mind.
Just understand that you did nothing wrong but (probably) unintentionally triggered some automatism to prevent/reduce spam and take some load of the (mostly volunteering) mods.
Just contact a mod like suggested, they are actual humans and will sort it out.
 
  • Like
Reactions: cMP_2010
It’s a slippery slope and not easy to handle. In the last months there were several bots/attacks of new registrations spamming the forum.
On the other hand there are legit users like you who register with a specific question/suggestion in mind.
Just understand that you did nothing wrong but (probably) unintentionally triggered some automatism to prevent/reduce spam and take some load of the (mostly volunteering) mods.
Just contact a mod like suggested, they are actual humans and will sort it out.
OK, thank you.
 
@Syncretic:
may you can try the Programs from "Topaz Labs", for example "Gigapixel AI", it needs AVX.

The program runs in full in the demo version, only the saving of a file is failed with a watermark for protection. For testing for an AVX emulator it would probably be suitable.

I wanted to test the program for myself, but with my cMP 5.1 the program crashes immediately when I try it.
I think many photographers still use older Mac systems and would be happy if there is a way to use the programs.
 
  • Like
Reactions: xb12
Hi. Any news about this project? I, like many here, fall in XSAVE error with VMware Fusion after updating to BigSur my... a bit patched but ever young, MacPro 2009. I really need to continue to use VM's, so I evaluating if I should go back to Catalina (postponing some time the problem, in the hope XSAVE will come in some way to my MacPro), replace VMware Fusion with Parallels Desktop (but I don't like it), or replace my MacPro 5,1 with a trashcan (in this case I've many doubts about the GPU... how performs the D300? is it worth spending something more on a D700? or is it better to go with an eGPU? and does eGPU work well with any software?), or some other hardware. I won't spend much more for an Intel Mac this times, with MacStudio that performs even better than the most powerful MacPro, but can't go with it until I need so many x86 softwares (Windows and macOS).
 
Not entirely sure if this is AVX related, but I think better reported at here first. So that you can have a look.

There are at least two cMP users have problem of running AQC107S 10Gbps network card since 12.3. So, there is a possibility that Apple also make the AppleEtheretAquantiaAqtion kexts need AVX to function correctly now.
 
Not entirely sure if this is AVX related, but I think better reported at here first. So that you can have a look.

There are at least two cMP users have problem of running AQC107S 10Gbps network card since 12.3. So, there is a possibility that Apple also make the AppleEtheretAquantiaAqtion kexts need AVX to function correctly now.
Check this page for tools to search for SSE4 and AVX/AVX2 opcodes.

The binary AppleEthernetAquantiaAqtion does not use any AVX opcodes listed there. Used the same method back last summer to find AVX2 code in the all AMD GLdriver.bundle binaries and in the OpenCL binaries - which broke Ventura support on all pre Haswell systems in a nasty way.

EDIT:
@Jazzzny added back AQC107S to OCLP lately using an older pre 12.3 driver.
 
Last edited:
  • Like
Reactions: Bmju and h9826790
@Syncretic:
may you can try the Programs from "Topaz Labs", for example "Gigapixel AI", it needs AVX.

The program runs in full in the demo version, only the saving of a file is failed with a watermark for protection. For testing for an AVX emulator it would probably be suitable.

I wanted to test the program for myself, but with my cMP 5.1 the program crashes immediately when I try it.
I think many photographers still use older Mac systems and would be happy if there is a way to use the programs.
Yes I know replying to an old post....

I have been using Topaz for over a year where Gigapixel AI has zero issues on my MacPro 5.1, where I'm one of the photographers still using an older Mac to process still imagery given the architecture / implementation is still relevant for still images. Though not so much for video given the GPUs we have to work with.
 
Yes I know replying to an old post....

I have been using Topaz for over a year where Gigapixel AI has zero issues on my MacPro 5.1, where I'm one of the photographers still using an older Mac to process still imagery given the architecture / implementation is still relevant for still images. Though not so much for video given the GPUs we have to work with.
I can also run Gigapixel AI flawlessly on my cMP. So, it seems this software isn't really need AVX.
 
  • Like
Reactions: xb12 and Bmju
I can also run Gigapixel AI flawlessly on my cMP. So, it seems this software isn't really need AVX.
Ok was able to copy paste in Macpro/private /var/folder/ "Topaz Photo AI2.0.1.lock" light file from the macbookPro. Edit not working.
 

Attachments

  • Capture d’écran 2023-09-17 à 10.22.08.jpg
    Capture d’écran 2023-09-17 à 10.22.08.jpg
    106.4 KB · Views: 109
Topaz has not put effort into their older tools (Gigipixel, DeNoise and Sharpen AI) for most of this year, focusing on Photo AI. For the most part these tools work well on both the Xeon MacPro, as well as Intel MBP, there is one bug in Sharpen AI they initially seemed to pursue but stopped responding to my emails failing to fix a crash.

With respect to Photo AI, with MacOS 12.6.8 on the MacPro, the tool is able to use an AMD GPU for its processing. But in Ventura Apple cast off support for AMD and Nvidia GPUs specifically for their CoreML (machine learning) library. In short Apple uses a library provided by Intel, which does not support AMD and Nvidea GPUs.

The result is that in Ventura the MacPro is forced to use the Xeon cores which if you have a 12-core machine is slower than say an AMD RX580, but not by much. For a MBP with a Corei7 and AMD, the same will occur using either the Corei7 or the on chip Intel GPU, ignoring the AMD.

All said comparing the legacy Topaz tools to Photo AI used to be a clear (pun intended). The legacy tools were much better than PhotoAI. Now the decision is more difficult, though development on Photo AI continues at a quick pace given weekly updates. And I believe content has a significant impact on the results given training of the models.

I'm still running Monterey given I want to use the external RX580 GPU, but at some point I might be forced to upgrade to at least Ventura and give up on GPU use. My expectation is that there might be a work around for this, but I'm not smart enough nor does it seem that the OCLP community is focused on making CoreML usable on MacPro.
 
Looks like the latest versions of Adobe Premiere Pro (24.0) and Media Encoder (24.0) now require AVX 2. Creative cloud lets you install the latest compatible version with your system, so that would be 23.6 for both applications.

I wouldn't be surprised if updated AVX 2 requirements make their way into more of their apps like Photoshop and Illustrator soon
 
I hacked a very basic bash script, for scanning AVX and AVX2 commands.

A little GUI was added, for those who are not used to the Terminal.

1 select file folder sudo.png

2 select app.png

3 terminal window.png




It disassembles the executables and scans for AVX/AVX2 command strings, it needs installing the command line developer tools. There will be a dialog, asking for this install, if you run the script the first time.
Don't mind, if installing the tools will tell it takes an insane (days) amount of time, this is pretty normal and goes back to a an hour or so.

Tested with Massive X, -c argument is optional for counting the commands, what is much slower:

Code:
user@Macmini ~ % ~/Downloads/avx2 /Library/Audio/Plug-Ins/VST3 -c
Macschrauber's AVX/AVX2 Scanner 16-1-2025 F
Scanning directory: /Library/Audio/Plug-Ins/VST3/Massive X.vst3/
Executable with 6037 AVX and AVX2 commands: /Library/Audio/Plug-Ins/VST3/Massive X.vst3/Contents/PkgInfoMacOS/Massive X
AVX and AVX2 code found.

the script:
Bash:
#!/bin/bash
# chmod +x avx2

terminal_output=true
found_avx1=false
found_avx2=false

AVX1_PATTERN='vaddpd|vaddps|vsubpd|vsubps|vmovapd|vmovaps|vmovupd|vmovups|vbroadcastsd|vbroadcastss|vperm2f128|vshufpd|vshufps|vcmppd|vcmpps|vpcmpeqb|vpcmpeqw|vpcmpeqd|vpcmpeqq|vgatherdpd|vgatherqpd|vgatherdps|vgatherqps'
AVX2_PATTERN='vpaddd|vpaddq|vpsubd|vpsubq|vpmulld|vpmullq|vandpd|vandps|vandnpd|vandnps|vorpd|vorps|vxorpd|vxorps|vpbroadcastb|vpbroadcastw|vpbroadcastd|vpbroadcastq|vpermd|vpblendd|vpblendvb|vpslldq|vpsrldq|vpsllw|vpslld|vpsllq|vpsrlw|vpsrld|vpsrlq|vpminsb|vpminsw|vpminsd|vpminsq|vpmaxsb|vpmaxsw|vpmaxsd|vpmaxsq'


##### functions block #####

function echo_red () {
    $terminal_output && printf "%s \n" "$(tput setaf 1)$1$(tput sgr0)" || echo "$1"
}


function echo_green () {
    $terminal_output && printf "%s \n" "$(tput setaf 2)$1$(tput sgr0)" || echo "$1"
}


function print_and_overwrite() {
    local message="$1"
    # Get the terminal width
    local term_width=$(tput cols)
    
    printf "%s" "$message"
    
    # Calculate the number of lines the message occupies
    local message_length=${#message}
    cursor_lines=$(( (message_length + term_width - 1) / term_width ))
}


function clear_message() {
    # Move the cursor back to the start of the line
    printf "\r"
    
    # Clear all lines occupied by the previous message
    for ((i = 0; i < cursor_lines; i++)); do
        printf "%*s\r" "$(tput cols)" " "
        # Move up one line if not on the last line
        (( i < cursor_lines - 1 )) && printf "\033[A"
    done
    
    cursor_lines=0
}


function is_x86() {
    [[ $(file -b "$1") == *x86* ]] && return 0 || return 1
}  


# Function to check for AVX and AVX2 instructions in executable code sections
function has_avx12() {
    [ -e /tmp/otool.txt ] && rm /tmp/otool.txt
    print_and_overwrite "..disassembling $1"
    otool -tv "$1" 2>/dev/null > /tmp/otool.txt
    clear_message

    local report_avx1=false
    local report_avx2=false

    # Check for AVX instructions
    print_and_overwrite "..checking for AVX in $1"
    if grep -q -m1 -E "$AVX1_PATTERN" /tmp/otool.txt; then
        found_avx1=true
        report_avx1=true
    fi
    clear_message

    # Check for AVX2 instructions
    print_and_overwrite "..checking for AVX2 in $1"
    if grep -q -m1 -E "$AVX2_PATTERN" /tmp/otool.txt; then
        found_avx2=true
        report_avx2=true
    fi
    clear_message


    if $count_commands; then
        count=0
        if $report_avx1; then
            print_and_overwrite "..counting AVX commands in $1"
            count=$((count + $(grep -oE "$AVX1_PATTERN" /tmp/otool.txt | wc -l)))
            clear_message
        fi

        if $report_avx2; then
            print_and_overwrite "..counting AVX2 commands in $1"
            count=$((count + $(grep -oE "$AVX2_PATTERN" /tmp/otool.txt | wc -l)))
            clear_message
        fi
        
        count="$count "
        commands_string=" commands"
    else
        count=""
        commands_string=""

    fi


    [ -e /tmp/otool.txt ] && rm /tmp/otool.txt

    $report_avx1 && $report_avx2 && echo_red "Executable with ${count}AVX and AVX2${commands_string}: $1" && return 0
    $report_avx1 && echo_red "Executable with ${count}AVX${commands_string}: $1" && return 0
    $report_avx2 && echo_red "Executable with ${count}AVX2${commands_string}: $1" && return 0

    # If AVX1 or 2 is not found
    echo_green "Executable without AVX/AVX2: $1"
    return 1 
}

##### end of functions block #####




echo "Macschrauber's AVX/AVX2 Scanner 22-1-2025"

# Check if command line tools / otool are available
# also triggers Mac Os installing command line tools
if ! otool --version  2>/dev/null; then
    echo_red "command line tools are missing"
    exit 1
fi

# Check if input is provided
if [ $# -eq 0 ]; then
    echo "Usage: $0 <directory> or <file> -c[ount AVX/AVX2]"
    exit 1
fi

[[ $2 == -c* ]] && count_commands=true || count_commands=false

given_file_or_directory="$1"


# Handle single file input
if [ -f "$given_file_or_directory" ]; then
    echo "Scanning file: $given_file_or_directory"

    if is_x86 "$given_file_or_directory"; then # Check if the file is executable
        has_avx12 "$given_file_or_directory"
    else
        echo_red "Error: The file '$given_file_or_directory' is not a x86 executable."
        exit 1
    fi

# Handle directory input
elif [ -d "$given_file_or_directory" ]; then
    echo "Scanning directory: $given_file_or_directory"

    # Track whether any executable files were found in the directory
    found_executables=false

    # Use find to locate all files and process them one by one without subshells
    while IFS= read -r -d '' file; do
        if is_x86 "$file"; then # Check if the file is a x86 executable
            found_executables=true
            has_avx12 "$file"
        fi
    done < <(find "$given_file_or_directory" -type f -print0)

    # If no executables were found in the directory, notify the user.
    if ! $found_executables; then

        # maybe restrictions, scan /Contents

        if [ -d "$given_file_or_directory/Contents" ]; then
            while IFS= read -r -d '' file; do
                if is_x86 "$file"; then # Check if the file is a x86 executable
                    found_executables=true
                    has_avx12 "$file"
                fi
            done < <(find "$given_file_or_directory/Contents" -type f -print0)
        fi

            if ! $found_executables; then
                echo_red "No x86 executable files found in the directory."
                exit 1
            fi
    fi

# Handle invalid input (neither file nor directory)
else
    echo_red "Error: The input '$given_file_or_directory' is neither a valid file nor a directory."
    exit 1
fi

# Final report based on whether AVX, AVX2 code was found or not.

$found_avx1 && $found_avx2 && echo_red "AVX and AVX2 code found." && exit 0
$found_avx1 && echo_red "AVX code found." && exit 0
$found_avx2 && echo_red "AVX2 code found." && exit 0

echo_green "No AVX/AVX2 code found."
exit 1

if copied to /Downloads, prepare the bash script:
Code:
xattr -c ~/Downloads/avx2
chmod +x ~/Downloads/avx2

and run the bash script with:
Code:
~/Downloads/avx2 /System/Applications/Preview.app

the script will need some time, as it disassembles a lot of code


Script attached, zipped.
Also the same bash script, wrapped in a simple AppleScript, for those who prefer a GUI to select what to scan.

You may need to prepare the AppleScript in Terminal, when it says, it is defective.
People who use the Dumper, can also use the Gatekeeper unprotect app tool from the package.
Code:
xattr -cr ~/Downloads/avx2.app


edit: Version 16-1-2025 separates AVX and AVX2 commands from the report

edit 2: Version 16-1-2025 C scans for x86 binaries. Using the executable flag was not accurate, sometimes found plists and other files what have the -x flag and got scanned without cause.

edit 3: Version 16-1-2025 D adds status messages

edit 4: Version 16-1-2025 F adds a -c parameter to count appearances of AVX/AVX2 commands, what is much slower, of course.

edit 5: Version 22-1-2025 more robust method to check, if command line tools are present.


If you guys find commands what I (or the AI) missed, or are not correct, dont mind hitting me :)
 

Attachments

  • avx2 GUI.zip
    63 KB · Views: 59
  • avx2.zip
    2 KB · Views: 54
Last edited:
I hacked a very basic bash script, for scanning AVX and AVX2 commands.


It disassembles the executables and scans for AVX/AVX2 command strings, it needs installing the command line developer tools. There will be a dialog, asking for this install, if you run the script the first time.
Don't mind, if installing the tools will tell it takes an insane amount of time, this is pretty normal.

Tested with Massive X:


View attachment 2472689


Code:
user@Macmini ~ % avx2 /Library/Audio/Plug-Ins/VST3
Macschrauber's AVX/AVX2 Scanner 15-1-2025
Scanning directory: /Library/Audio/Plug-Ins/VST3/Massive X.vst3/
Executable without AVX/AVX2: /Library/Audio/Plug-Ins/VST3/Massive X.vst3/Contents/PkgInfo_CodeSignature/CodeResources
Executable with AVX: /Library/Audio/Plug-Ins/VST3/Massive X.vst3/Contents/PkgInfoMacOS/Massive X
Executable with AVX2: /Library/Audio/Plug-Ins/VST3/Massive X.vst3/Contents/PkgInfoMacOS/Massive X
Executable without AVX/AVX2: /Library/Audio/Plug-Ins/VST3/Massive X.vst3/Contents/PkgInfoInfo.plist
Executable without AVX/AVX2: /Library/Audio/Plug-Ins/VST3/Massive X.vst3/Contents/PkgInfoPkgInfo
AVX/AVX2 code found.

the script:
Bash:
#!/bin/bash
# chmod +x avx2

terminal_output=true
found_avx1=false
found_avx2=false


function echo_red () {
    $terminal_output && printf "%s \n" "$(tput setaf 1)$1$(tput sgr0)" || echo "$1"
}

function echo_green () {
    $terminal_output && printf "%s \n" "$(tput setaf 2)$1$(tput sgr0)" || echo "$1"
}

echo "Macschrauber's AVX/AVX2 Scanner 16-1-2025"

# Check if otool is available
if ! command -v otool &> /dev/null; then
    echo_red "Error: 'otool' is not installed or not found in PATH."
    exit 1
fi

# Check if input is provided
if [ $# -eq 0 ]; then
    echo "Usage: $0 <directory> or <file>"
    exit 1
fi

given_file_or_directory="$1"

# AVX
# grep -qE 'vaddpd|vaddps|vsubpd|vsubps|vmovapd|vmovaps|vmovupd|vmovups|vbroadcastsd|vbroadcastss|vperm2f128|vshufpd|vshufps|vcmppd|vcmpps|vpcmpeqb|vpcmpeqw|vpcmpeqd|vpcmpeqq|vgatherdpd|vgatherqpd|vgatherdps|vgatherqps'

# AVX2
# grep -qE 'vpaddd|vpaddq|vpsubd|vpsubq|vpmulld|vpmullq|vandpd|vandps|vandnpd|vandnps|vorpd|vorps|vxorpd|vxorps|vpbroadcastb|vpbroadcastw|vpbroadcastd|vpbroadcastq|vpermd|vpblendd|vpblendvb|vpslldq|vpsrldq|vpsllw|vpslld|vpsllq|vpsrlw|vpsrld|vpsrlq|vpminsb|vpminsw|vpminsd|vpminsq|vpmaxsb|vpmaxsw|vpmaxsd|vpmaxsq'



# Function to check for AVX2 instructions in executable code sections
has_avx2() {
    [ -e /tmp/otool.txt ] && rm /tmp/otool.txt
    otool -tv "$1" 2>/dev/null > /tmp/otool.txt
    local found_avx12=false

    # Check for AVX instructions
    if grep -q -m1 -E 'vaddpd|vaddps|vsubpd|vsubps|vmovapd|vmovaps|vmovupd|vmovups|vbroadcastsd|vbroadcastss|vperm2f128|vshufpd|vshufps|vcmppd|vcmpps|vpcmpeqb|vpcmpeqw|vpcmpeqd|vpcmpeqq|vgatherdpd|vgatherqpd|vgatherdps|vgatherqps' /tmp/otool.txt; then
        found_avx1=true
        found_avx12=true
        echo_red "Executable with AVX: $1"
    fi

    # Check for AVX2 instructions
    if grep -q -m1 -E 'vpaddd|vpaddq|vpsubd|vpsubq|vpmulld|vpmullq|vandpd|vandps|vandnpd|vandnps|vorpd|vorps|vxorpd|vxorps|vpbroadcastb|vpbroadcastw|vpbroadcastd|vpbroadcastq|vpermd|vpblendd|vpblendvb|vpslldq|vpsrldq|vpsllw|vpslld|vpsllq|vpsrlw|vpsrld|vpsrlq|vpminsb|vpminsw|vpminsd|vpminsq|vpmaxsb|vpmaxsw|vpmaxsd|vpmaxsq' /tmp/otool.txt; then
        found_avx2=true
        found_avx12=true
        echo_red "Executable with AVX2: $1"
    fi

    [ -e /tmp/otool.txt ] && rm /tmp/otool.txt

    $found_avx12 && return 0


    # If AVX1 or 2 is not found
    if ! $found_avx12; then
        echo_green "Executable without AVX/AVX2: $1"
        return 1
    fi

}

# Handle single file input
if [ -f "$given_file_or_directory" ]; then
    echo "Scanning file: $given_file_or_directory"

    if [ -x "$given_file_or_directory" ]; then # Check if the file is executable
        has_avx2 "$given_file_or_directory"
    else
        echo_red "Error: The file '$given_file_or_directory' is not executable."
        exit 1
    fi

# Handle directory input
elif [ -d "$given_file_or_directory" ]; then
    echo "Scanning directory: $given_file_or_directory"

    # Track whether any executable files were found in the directory
    found_executables=false

    # Use find to locate all files and process them one by one without subshells
    while IFS= read -r -d '' file; do
        if [ -x "$file" ]; then # Check if the file is executable
            found_executables=true
            has_avx2 "$file"
        fi
    done < <(find "$given_file_or_directory" -type f -print0)

    # If no executables were found in the directory, notify the user.
    if ! $found_executables; then

        # maybe restrictions, scan /Contents

        if [ -d "$given_file_or_directory/Contents" ]; then
            while IFS= read -r -d '' file; do
                if [ -x "$file" ]; then # Check if the file is executable
                    found_executables=true
                    has_avx2 "$file"
                fi
            done < <(find "$given_file_or_directory/Contents" -type f -print0)
        fi

            if ! $found_executables; then
                echo_red "No executable files found in the directory."
                exit 1
            fi

    fi

# Handle invalid input (neither file nor directory)
else
    echo_red "Error: The input '$given_file_or_directory' is neither a valid file nor a directory."
    exit 1
fi

# Final report based on whether AVX, AVX2 code was found or not.

$found_avx1 && $found_avx2 && echo_red "AVX/AVX2 code found." && exit 0

$found_avx1 && echo_red "AVX code found." && exit 0

$found_avx2 && echo_red "AVX2 code found." && exit 0

echo_green "No AVX/AVX2 code found."
exit 1

if copied to /Downloads, prepare:
Code:
xattr -c ~/Downloads/avx2
chmod +x ~/Downloads/avx2

and run with:
Code:
~/Downloads/avx2 /System/Applications/Preview.app

the script will need some time, as it disassembles a lot of code


script attached, zipped

edit: Version 16-1-2025 separates AVX and AVX2 commands from the report

I will wrap it to a GUI some time, but it needs more testing.
If you guys find commands what I (or the AI) missed, or are not correct, dont mind hitting me :)
Awesome news!!! just wow!
and by the way thanks you for all your other great work as well!
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.