amd_bfe ++ amd_bitalign break non-AMD OpenCL Implementations
**Describe the bug**
Unable to utilize OpenCL on Intel due to amd-specific amd_bfe and amd_bitalign (Intel is releasing the dedicated GPUs soon, so wanted to start prepping on iGPUs)

**To Reproduce**
Compile, Execute. 

**Expected behavior**
Expect OpenCL to execute correctly even though the platform is not AMD. 

**DATA**

[2022-02-20 01:23:58.971]  net      use pool us.uplexa.herominers.com:1177  116.202.226.168
[2022-02-20 01:23:58.971]  net      new job from us.uplexa.herominers.com:1177 diff 100001 algo cn/upx2 height 901941 (1 tx)
[2022-02-20 01:23:58.971]  cpu      use profile  cn/upx2  (4 threads) scratchpad 128 KB
[2022-02-20 01:23:58.981]  opencl   use profile  cn/upx2  (1 thread) scratchpad 128 KB
|  # | GPU |  BUS ID | INTENSITY | WSIZE | MEMORY | NAME
|  0 |   0 |     n/a |       256 |     8 |     32 | Intel(R) HD Graphics IvyBridge M GT2
[2022-02-20 01:23:58.986]  opencl   GPU #0 compiling...
[2022-02-20 01:23:58.995]  cpu      READY threads 4/4 (8) huge pages 100% 4/4 memory 1024 KB (24 ms)
[2022-02-20 01:23:59.977]  opencl   error CL_BUILD_PROGRAM_FAILURE when calling clBuildProgram
BUILD LOG:
stringInput.cl:155:16: error: implicit declaration of function 'amd_bfe' is invalid in OpenCL
stringInput.cl:138:21: note: expanded from macro 'BYTE'
stringInput.cl:163:16: warning: use of out-of-scope declaration of 'amd_bfe'
stringInput.cl:138:21: note: expanded from macro 'BYTE'
stringInput.cl:155:16: note: previous declaration is here
stringInput.cl:138:21: note: expanded from macro 'BYTE'
stringInput.cl:193:31: warning: use of out-of-scope declaration of 'amd_bfe'
stringInput.cl:189:29: note: expanded from macro 'SubWord'
stringInput.cl:138:21: note: expanded from macro 'BYTE'
stringInput.cl:155:16: note: previous declaration is here
stringInput.cl:138:21: note: expanded from macro 'BYTE'
stringInput.cl:240:17: error: implicit declaration of function 'amd_bitalign' is invalid in OpenCL
stringInput.cl:240:8: error: call to 'as_ulong' is ambiguous
/usr/lib/x86_64-linux-gnu/beignet/include/ocl_as.h:132:20: note: candidate function
/usr/lib/x86_64-linux-gnu/beignet/include/ocl_as.h:259:20: note: candidate function
/usr/lib/x86_64-linux-gnu/beignet/include/ocl_as.h:159:20: note: candidate function
/usr/lib/x86_64-linux-gnu/beignet/include/ocl_as.h:172:20: note: candidate function
/usr/lib/x86_64-linux-gnu/beignet/include/ocl_as.h:185:20: note: candidate function
/usr/lib/x86_64-linux-gnu/beignet/include/ocl_as.h:197:20: note: candidate function
/usr/lib/x86_64-linux-gnu/beignet/include/ocl_as.h:209:20: note: candidate function
/usr/lib/x86_64-linux-gnu/beignet/include/ocl_as.h:221:20: note: candidate function
/usr/lib/x86_64-linux-gnu/beignet/include/ocl_as.h:233:20: note: candidate function
/usr/lib/x86_64-linux-gnu/beignet/include/ocl_as.h:246:20: note: candidate function
/usr/lib/x86_64-linux-gnu/beignet/include/ocl_as.h:272:20: note: candidate function
/usr/lib/x86_64-linux-gnu/beignet/include/ocl_as.h:285:20: note: candidate function
/usr/lib/x86_64-linux-gnu/beignet/include/ocl_as.h:297:20: note: candidate function
stringInput.cl:243:17: warning: use of out-of-scope declaration of 'amd_bitalign'
stringInput.cl:240:17: note: previous declaration is here
stringInput.cl:243:8: error: call to 'as_ulong' is ambiguous
/usr/lib/x86_64-linux-gnu/beignet/include/ocl_as.h:132:20: note: candidate function
/usr/lib/x86_64-linux-gnu/beignet/include/ocl_as.h:259:20: note: candidate function
/usr/lib/x86_64-linux-gnu/beignet/include/ocl_as.h:159:20: note: candidate function
/usr/lib/x86_64-linux-gnu/beignet/include/ocl_as.h:172:20: note: candidate function
/usr/lib/x86_64-linux-gnu/beignet/include/ocl_as.h:185:20: note: candidate function
/usr/lib/x86_64-linux-gnu/beignet/include/ocl_as.h:197:20: note: candidate function
/usr/lib/x86_64-linux-gnu/beignet/include/ocl_as.h:209:20: note: candidate function
/usr/lib/x86_64-linux-gnu/beignet/include/ocl_as.h:221:20: note: candidate function
/usr/lib/x86_64-linux-gnu/beignet/include/ocl_as.h:233:20: note: candidate function
/usr/lib/x86_64-linux-gnu/beignet/include/ocl_as.h:246:20: note: candidate function
/usr/lib/x86_64-linux-gnu/beignet/include/ocl_as.h:272:20: note: candidate function
/usr/lib/x86_64-linux-gnu/beignet/include/ocl_as.h:285:20: note: candidate function
/usr/lib/x86_64-linux-gnu/beignet/include/ocl_as.h:297:20: note: candidate function
stringInput.cl:826:30: error: call to 'as_uint' is ambiguous
/usr/lib/x86_64-linux-gnu/beignet/include/ocl_as.h:46:19: note: candidate function
/usr/lib/x86_64-linux-gnu/beignet/include/ocl_as.h:115:19: note: candidate function
/usr/lib/x86_64-linux-gnu/beignet/include/ocl_as.h:65:19: note: candidate function
/usr/lib/x86_64-linux-gnu/beignet/include/ocl_as.h:74:19: note: candidate function
/usr/lib/x86_64-linux-gnu/beignet/include/ocl_as.h:83:19: note: candidate function
/usr/lib/x86_64-linux-gnu/beignet/include/ocl_as.h:91:19: note: candidate function
/usr/lib/x86_64-linux-gnu/beignet/include/ocl_as.h:99:19: note: candidate function
/usr/lib/x86_64-linux-gnu/beignet/include/ocl_as.h:107:19: note: candidate function
/usr/lib/x86_64-linux-gnu/beignet/include/ocl_as.h:124:19: note: candidate function
stringInput.cl:1101:14: warning: use of out-of-scope declaration of 'amd_bfe'
stringInput.cl:138:21: note: expanded from macro 'BYTE'
stringInput.cl:155:16: note: previous declaration is here
stringInput.cl:138:21: note: expanded from macro 'BYTE'

[2022-02-20 01:23:59.987]  opencl   thread #0 failed with error CL_INVALID_PROGRAM
[2022-02-20 01:23:59.987]  opencl   thread #0 self-test failed
[2022-02-20 01:23:59.987]  opencl   disabled (failed to start threads)


